我有一个简单的例子,我在触摸上对节点施加冲动,如下所示:
[_bird.physicsBody applyImpulse:CGVectorMake(0, 15)];
我想要的是施加“静态”冲动。
让我解释一下:
当我的节点由于重力而处于下降阶段时,施加冲动将更加困难,并且冲动将应用dy
5而不是15(例如)。
在另一种情况下,当我的节点没有掉落(即在地面上)时,如果我快速敲击多次,我的冲动似乎成倍增加而不被添加,导致我的节点也达到“屋顶”的方式快。
我希望在适用的情况下应用相同数量的dy
。
有没有这样做?
提前感谢您的帮助。
答案 0 :(得分:14)
为了使脉冲对精灵节点具有相同的效果而不管其状态如何,您可以尝试将其velocity
属性设置为零。像这样:
_bird.physicsBody.velocity = CGVectorMake(0,0);
[_bird.physicsBody applyImpulse:CGVectorMake(0, 15)];
这应该是“鸟儿”。 (Flappy Bird?)在任何情况下表现都一样。