第一个项目(六)跳跃动作的初步优化

创建人物跳跃动画 y轴的速度目前我们还不知道,接下来我们先保存项目,返回到游戏当中,我们选中Player,查看一下Rigidbody2D这个组件,打开info边运行边观看velocityY这个值(先从这个正数变成0然后变为负数一个很大的值,大概正数13,14,15左右,空中最高点为0,下落为负值,这就是一整个动画的转换的速度的切换值)那刚才我们创建了这个变量velocityY,我们要在代码当中将他同步到Rigidbody的y轴的数值。如果人物落地直接跑动,我们就马上执行跑动的动作,快速打断落地动画。 阅读详情

有一种逗比精神叫做没人看我也要更新


很明显,写完昨天的代码,如果不停的按jump键肯定就要飞到天上去了,优化的基本思路就是,在一次跳跃没有完成的时候,按jump键不执行jump动作。

那么首先就要给player加一个属性,布尔类型的isJumping,初始化的时候给false,按下跳跃按钮,把值变为true,执行跳跃动作之后,把值变为false,在jump按钮的回执函数里加一个判断如果isJumping是false就执行跳跃动作,看似天一无缝的,但是我发现了一个实际的问题。

就是我们想让isJumping在跳跃完成之后变成false,并不是直接写一句player->runActuon(jump);然后紧跟着isJumping=false;,这样并不是整个跳跃动作完成,而是player->runActuon(jump)这一句代码执行完毕,所以说没有时间差,这样的逻辑是无效的。

我参考了一下资料,找到了一种方法,就是创建一个连续动作c,把动作A(跳)和动作B(赋值false)放到一个连续动作C里执行,到时候直接player->runActuon(动作C)

放弃了当时沾沾自喜的CCAminate单一动作。

CCSequence可以创造连续动作,直接把动作分别放到参数里就行,最后一个参数传NULL,但是如果传的参数是函数不是动作类,就得用指针,这里用callfunc来指针封装。

CCActionInterval* Player::jump2s()
{


	CCCallFunc* callfunc=CCCallFunc::create(this,callfunc_selector(Player::jumpend));

	CCActionInterval* jump2 =CCSequence::create(CCJumpBy::create(1.0f,ccp(0,0),120,1),callfunc,NULL);
	return jump2;


}

void Player::jumpend()
{
	isJumping=false;
}
之后直接调用jump2s动作就行。

这样开头的问题就解决了。

Unity C#编程 跑动游戏(三)跳跃与碰撞 Project视图中创建一个新的文件命名为Platform,在文件夹中创建一个新的C#脚本名为PlatformManager, 阅读详情

相关推荐

怎样在 PostgreSQL 中优化对大表的索引合并和索引跳跃扫描?

在 PostgreSQL 中优化对大表的索引合并和索引跳跃扫描是一项重要的任务,它可以提高查询性能,降低系统资源消耗,提高数据库的可扩展性。通过合理设计索引、调整查询语句、使用覆盖索引等方法,我们可以优化索引合并;通过选择合适的索引、调整查询条件、增加索引的选择性等方法,我们可以优化索引跳跃扫描。在实际应用中,我们需要根据具体的业务需求和数据特点,选择合适的优化方法,并不断进行监控和调整,以确保数据库的性能始终保持在一个较好的水平。🎉相关推荐🍅关注博主🎗️带你畅游技术世界,不错过每一次成长机会!

2401_86074221的博客 1288

Cocos Creator第二季:真实的物理世界

Cocos Creator游戏引擎是一个完整的游戏开发解决方案,包含从设计、开发、预览、调试到发布的整个工作流所需的全部功能。目前支持发布游戏到 Web、iOS、Android、各类小游戏、PC 客户端等平台,真正实现一次开发,全平台戏开发。本课程作者联络QQ:494657271

Godot引擎开发:动作系统设计_动作系统的优化

通过上述优化技巧和设计模式,我们可以显著提升动作系统的性能和流畅度,使游戏在不同设备上都能流畅运行。优化的关键在于减少不必要的计算、使用信号和事件机制、优化动画和物理计算、以及合理使用缓存和预计算。此外,使用Godot引擎的性能监控工具和调试日志可以帮助我们更好地找到和解决性能问题。希望本节的内容对你的游戏开发有所帮助,使你的动作系统更加高效和自然。如果你有任何问题或需要进一步的帮助,可以在社区或官方文档中寻找资源。

chenlz2007的博客 2207

跳跃表代码完整实现

跳跃表实现 #include <iostream> #include <stdlib.h> #include <time.h> #include <memory> using namespace std; const int MaxLevel = 10; int RandomLevel() { int k = 1; while...

The Coding World 1024

NU1680无线充电接收器在TWS耳机中的应用实战:I2C调压与QI协议适配

本文详细解析了NU1680无线充电接收器在TWS耳机充电仓设计中的应用实战。重点阐述了其无固件设计、I2C接口动态调压功能如何解决不同QI协议发射器的兼容性难题,并分享了硬件设计、PCB布局、与发射端联调及安全测试等关键环节的实践经验,助力开发者快速实现稳定高效的无线充电方案。

weixin_28432777的博客 233

信贷风控实战指南:Vintage分析表从数据建模到风险洞察

本文是一份信贷风控实战指南,详细阐述了Vintage分析从数据建模到风险洞察的全流程。文章深入解析了Vintage分析作为信贷资产“体检报告”的核心价值,并提供了从借据表与还款计划表设计、账龄计算、逾期口径判定到风险暴露计算与最终可视化透视的完整SQL实现方案,旨在帮助风控从业者构建精准的风险监控体系。

nft7creator的博客 321

Cocos2d-x 如何实现不同高低台阶的跳跃

Cocos2d-x 如何实现不同高低台阶的跳跃 本文主要讲解,如何实现角色从一个台阶跳向另一个台阶。两个台阶高低是不一样的,目的是让角色停在另一个台阶上而不掉下来。 具体实现代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

我的 1108

企业和个人 AI 编程工具怎么选?2025 年 12 款主流工具(Claude/Cursor 等)核心能力 + 收费对比

2025 年最火的 12 款 AI 编程工具,像 Claude、Cursor 这些热门款,我把它们的核心能力、收费标准全扒得明明白白,看完这篇你不用再瞎琢磨,直接就能挑到对的!再说说 Cursor,美国 Cursor Labs 做的,还拿过红杉资本投资,2022 年推出后,2024 年收入直接涨了 6400%,势头很猛。总之,不管你是企业技术管理者、程序员,还是刚入门的 AI 小白,按自己的需求(语言、合规、预算)挑,保准能找到最适合的 AI 编程工具!最后给大家划重点,不同需求直接对号入座:?

hundred98的博客 2801

第一个项目(五)添加跳跃动作

不得不说的是,主角za

Fried_potatoes的专栏 895

GStreamer 源代码入门

GStreamer 是一个高度模块化的多媒体框架,其源代码结构清晰,设计精良。

深之JohnChen的专栏 954

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

在本教程中,我们将使用 Ubuntu 20.04 版本,该版本使用了新的 Ubuntu 桌面安装程序,该程序将包含在今后发布的所有 Ubuntu 版本中。如果你选择了这个选项,你会看到一个简单的界面,允许你选择要安装Ubuntu的硬盘,并通过滑块来决定你希望Ubuntu使用的磁盘空间大小。如果你的电脑有多个硬盘驱动器,那么只要它们各自有自己的驱动器,这个选项就能让你在安装 Ubuntu 的同时安装现有的操作系统。在此屏幕上,系统会提示您输入您的姓名和您的计算机名称,以显示在网络上。

机器人控制与仿真应用 4509

Python中的盆地跳跃【Basin Hopping】优化

【翻译自 : Basin Hopping Optimization in Python】 【说明:Jason BrownleePhD大神的文章个人很喜欢,所以闲暇时间里会做一点翻译和学习实践的工作,这里是相应工作的实践记录,希望能帮到有需要的人!】 盆地跳跃是一种全局优化算法。它是为解决化学物理学中的问题而开发的,尽管它是一种适用于具有多个最优条件的非线性目标函数的有效算法。 在本教程中,您将发现盆地跳跃全局优化算法。完成本教程后,您将知道...

Together_CZ的博客 3383

addr2line解析不出来行号的解决方式(汇编解析高阶版)

摘要:本文针对AEC crash问题中addr2line无法解析行号的情况,通过llvm-addr2line和反汇编分析,定位到CamX::AECBEStats17::AdjustROIParams函数中的乘法溢出问题。关键发现包括: 常规addr2line只能解析到函数名但无具体行号 llvm-addr2line解析出多个可能溢出点(行196/204/211/218/270/271) 反汇编显示6个条件分支跳转到溢出处理函数 源码分析确认这些位置均存在乘法运算 最终通过汇编级调试工具成功定位UBsan报告

169

Unity学习记录03:人物跳跃,二段跳,跳跃手感优化可能办法

上面的代码就是要检测人物有没有在地面上,只有在地面上才能按空格键进行跳跃3、二段跳一般来说,二段跳已经能够满足大部分需求了。

QA154的博客 1889

【软件系统架构】系列六:系统工程

系统工程是一种跨学科方法论,用于分析、设计、集成和管理复杂系统的全生命周期。其核心特点包括系统性思维、全周期管理、跨学科协作和需求导向。主流采用V模型生命周期,涵盖需求分析、系统设计、实现、测试验证及运维退役等阶段。核心工作方法包括需求工程、系统建模、接口设计、风险管理等。系统工程与项目管理协同,分别侧重技术实现和进度资源管理。应用领域覆盖航天军工、智能制造、智慧城市等。未来将向AI融合、数字孪生、模型驱动工程等方向发展,为复杂系统开发提供系统化协作范式。

moton2017的博客 2258

GEE:耦合5个因子的kRSEI遥感生态指数(K Remote Sensing Ecological Index, KRSEI)计算

本文将介绍在 Google Earth Engine (GEE)平台上,如何耦合5个因子,进行 kRSEI 的计算。具体来说,分别计算了 `NDVI, WET, NDBSI,LST,NDRI` 5个因子,并使用 PCA 主成分分析方法计算了权重,最后,计算了 kRSEI 指数。

养乐多的博客 1417

Unity2D横板跳跃——更佳的跳跃手感

然而增加物理对象的Gravity Scale会导致快速移动的物体穿过其他物体(比如地面),在接下来的物理更新中导致物体从地面反弹 ,解决方法就是将刚体的碰撞检测模式改为continuous(连续),而不是discrete(离散),这样就能防止它卡在其他物体中,同时更改插值模式,可以实现平滑的物理运动,固定更新位置变化,使得跳跃运动更加流畅。然而,虽然限制跳跃的高度是有用的,但是总是跳到相同的高度会让你在游戏中移动非常困难,所以让玩家根据按下按钮的时间来控制跳跃高度是一个好主意,也就是长按跳跃。

m0_75052554的博客 3123

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Unity-RL-Playground项目中机器人跳跃训练优化方案

Unity-RL-Playground项目中机器人跳跃训练优化方案 在机器人强化学习训练过程中,跳跃动作的实现往往面临诸多挑战。本文基于Unity-RL-Playground项目中的OpenLoong机器人训练经验,分享跳跃动作训练的关键优化方法。 常见问题分析 当训练机器人完成跳跃动作时,开发者经常会遇到机器人完成跳跃后直接倒地的问题。这种现象通常表明机器人在空中姿态控制和落地缓冲方面存在不足。...

gitblog_07106的博客 489

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

跳跃动作测试动力系统

本文深入分析了用于仿人机器人跳跃测试的动力系统,涵盖高动态伺服驱动、力/惯性传感器融合、实时控制闭环等核心技术。系统通过精确测量力、冲量、姿态等物理量,实现对瞬态高功率动作的可重复、高精度测试,支持控制算法验证与能量优化,为机器人、假肢和数字孪生应用提供关键数据支撑。

weixin_35751194的博客 345

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为笔试跳跃问题

华为笔试跳跃问题-python实现1 题目描述2 python实现 昨天做了一个华为的笔试,做的时候有点急躁,很多地方不完善,通过率只有20%,今天完善了一下。哎感觉又凉了。 1 题目描述 给出一组正整数,你从第一个数向最后一个数方向跳跃,每次至少跳跃1格,每个数的值表示你从这个位置可以跳跃的最大长度。计算如何以最少的跳跃次数跳到最后一个数。下为例子: 输入: 7 2 3 2 1 2 1 5 输...

MajinWakeup的博客 949

【Unity 跑酷和动作类游戏动画包】Runner Action Animation Pack 支持多种运动动作动画,包括跑步、跳跃、翻滚、翻越障碍、滑行等常见的动作动画,适合跑酷类游戏。

Runner Action Animation Pack 是一个专为跑酷游戏或动作类游戏设计的Unity动画资源包。它包含了一系列的角色动作动画,适用于需要快速移动、跳跃、翻滚等动态动作的游戏场景。

2403_88403568的博客 835

Python中的盆地跳跃(Basin Hopping)优化

盆地跳跃是一种全局优化算法。它是为解决化学物理学中的问题而开发的,尽管它是一种适用于具有多个最优条件的非线性目标函数的有效算法。在本教程中,您将发现盆地跳跃全局优化算法。完成本教程后,您将...

Python中文社区 4499

跳跃数字

题目要求 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 说明: 假设你总是可以到达数组的最后一个位置。 解题思路 1.临界情况,当数组只有一个元素的时候,根据题目要求则直接返回0。 2.一般情况,从当前位置看,如

tangshuai96的博客 1564

Unity 2D游戏跳跃优化

2D游戏跳跃下落速度问题 有些2D游戏会感觉到向上跳跃和下落速度不一致,感觉下落时更干脆一些,比如马里奥,不过也跟具体的项目需求手感有关系。 直接上代码。下面是优化下落速度手感的代码。 using UnityEngine; public class BettlerJump : MonoBehaviour { public float fallMultiplier = 2.5f; //下落速度倍数 public float lowJumpMultiplier = 2f; //长按跳跃

lcy的博客 3131

Redis—跳跃表

我没有三颗心脏 30 人赞同了该文章 一、跳跃表简介 跳跃表(skiplist)是一种随机化的数据结构,由William Pugh在论文《Skip lists: a probabilistic alternative to balanced trees》中提出,是一种可以于平衡树媲美的层次化链表结构——查找、删除、添加等操作都可以在对数期望时间下完成,以下是一个典型的跳跃表例子: 我们在上一篇中提到了 Redis 的五种基本结构中,有一个叫做有序列表 zset的数据结构,它类似于...

平塘大鱼儿 3401

算法实验 01背包跳跃点优化

01背包跳跃点优化 目录01背包跳跃点优化经典算法的缺点改进的思路(跳跃点)具体方法 经典算法的缺点 无法处理物品价值、体积为小数的情况 当背包容量非常大时,算法的时间复杂度很高 改进的思路(跳跃点) 通过观察经典算法构建的二维表,发现只有部分“跳跃点”会对结果产生影响,其余点并不能更新最大值。如果只处理这些“跳跃点”,那么就可以克服上面两个缺点。 具体方法 前i−1i-1i−1个物品所构成的跳跃点(w,v)(w,v)(w,v)是一个递增序列。那么加上第i个物品,相当于每个跳跃点都向右上方移动了一段距

m0_51864047的博客 1434
上一篇: 第一个项目(五)添加跳跃动作
下一篇: 第一个项目(七)添加地图
Fried_potatoes
博客等级 码龄12年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值