1

我正在制作一款平台游戏,一切都很棒。当我触摸屏幕左侧时,我的精灵会移动,而当我触摸右侧时,我的精灵会跳跃。但后来我决定让它自己移动。所以我添加了 ccmoveto 功能,但现在它没有跳转!我是 cocos2d 的新手,但一切正常,除了这个,已经搜索但找不到答案有人可以帮我吗?我尝试了一切,但只有当我删除 ccmoveto 操作时它才会跳转。我用的是cocos2d 2.0 谢谢!!

4

2 回答 2

1

CcMoveTo 将覆盖任何手动位置更改,包括来自其他操作(如 CCJump)的更改。无论如何,您的角色都会直线移动到目的地。

这就是为什么我总是建议不要将动作用于游戏逻辑的原因。特别是位置,你需要保持对它的完全控制。使用方向向量并在每次更新时整合位置:您可以自由地做您需要的一切。

于 2013-03-02T11:43:02.160 回答
0

我的建议是使用 cocos2d 提供的物理引擎之一:Box2D 和 Chipmunk 物理。多亏了这个引擎,您可以为您的精灵定义世界的特征(即重力矢量)形状和质量(即带有权重的矩形)。然后,当您需要它跳跃时,您只需创建一个具有您需要的特征(即角度等)的力矢量,并使用其物理身体保持更新您的精灵。这将使您的精灵跳跃和着陆非常逼真。

于 2013-03-02T08:38:38.037 回答