2013-04-30 24 views
0

我想要什么...

的目标是让无尽的运行游戏的障碍和陷阱,玩家必须通过跳跃躲避。为了做到这一点,角色不能被允许水平移动,因为地面物体需要照顾。当玩家跳跃时,唯一允许的移动将位于y轴(垂直)。同样为了达到这个目的,我需要消除游戏过程中身体可能发生的任何旋转。不知道是否有一种方法可以为旋转设置某种阻尼器或者什么,但这就是我要问的原因。的Cocos2D +花栗鼠:不允许运动沿X轴与旋转防止

的问题:

  • 如何取消做身体沿x轴的任何运动/翻译?

  • 如何取消对身体进行的任何旋转?

(注:我没有尝试过任何东西,因为我不知道从哪里开始,我是新来的花栗鼠场景)

+1

将步骤后的身体X位置设置为任意值。您也可能想要取消沿x轴的线速度。轮换也一样。 Box2d实际上有一个禁止身体旋转的标志。 – LearnCocos2D 2013-04-30 17:42:14

回答

1

与惯性无限时刻创建身体使其不可旋转。

至于让环境移动而不是玩家,这有点奇怪,但它会正常工作。你有几个选择,但他们都有点奇怪。您可以设置玩家形状的表面速度以匹配地面速度。然后摩擦力将它保持在位,直到有东西撞击它并向后推。当你清除障碍物时,摩擦力会再次停止它的X速度。如果你设定地面的表面速度,那么你也不需要移动它,只有玩家必须清除的障碍物。

它听起来像你实际上并不想要物理。大多数跑步者游戏只需要简单的AABBs之间的冲突,您可以更容易地使用几十行代码。

+0

在这之前,我问过关于这个项目的一个问题,那就是我应该使用物理API还是更简单的方法,我被告知与Chipmunk一起使用会更容易。你知道一个例子,我可以解剖和分析一个非物理版本,或者你是否想更详细地解释这种方法? – crenfrow 2013-04-30 18:59:38