我正在制作平台游戏,一切都很棒。当我触摸屏幕的左侧时,我的精灵移动了,当我触摸右侧时我跳了起来。但后来我决定让它自己动起来。所以我添加了ccmoveto函数,但现在它没有跳!我是cocos2d的新手但是一切正常,除了这个,已经搜索过但找不到答案有人可以帮我吗? 我尝试了一切,但只有在我删除ccmoveto动作时它才会跳转。 我正在使用cocos2d 2.0 谢谢!!
答案 0 :(得分:1)
CcMoveTo将覆盖任何手动位置更改,包括来自CCJump等其他操作的更改。无论如何,你的角色都会被设置为直线移动到目的地。
这样的问题为什么我总是建议不要对游戏逻辑使用动作。特别是位置,你需要保持对它的完全控制。使用方向向量并在每次更新时集成位置:您可以自由地完成所需的一切。
答案 1 :(得分:0)
我的建议是使用cocos2d提供的物理引擎之一:Box2D和Chipmunk物理。由于这个引擎,你可以定义世界的特征(即重力矢量)你的精灵的形状和质量(即一个有重量的矩形)。然后,当你需要跳跃时,你只需要创建一个具有你需要的特征的力矢量(即角度等),并用你的身体保持更新你的精灵。这将使你的精灵跳跃和降落非常逼真。