Ios 如何避免box2D中的碰撞力?

Ios 如何避免box2D中的碰撞力?,ios,cocos2d-iphone,box2d,collision,Ios,Cocos2d Iphone,Box2d,Collision,我正在用Cocos2D和Box2D创建简单的iOS游戏。在我的游戏中,用户必须通过用字母射击正方形来创建完整的单词。如果射出的字母正确,正方形应该爆炸,否则正方形应该掉落。我创建了一个简单的联系人侦听器,我可以检测子弹和正方形之间的碰撞,但问题是当字母不正确时如何避免碰撞力?我认为在这种情况下(不正确的字母),我希望正方形在不向正方形施加碰撞力的情况下简单地倒下 也许我可以删除正方形并在删除的位置创建一个新的,但我认为这不是最好的主意:)我的一个建议是碰撞,如果字母不正确,将物体的x和z速度设置

我正在用Cocos2D和Box2D创建简单的iOS游戏。在我的游戏中,用户必须通过用字母射击正方形来创建完整的单词。如果射出的字母正确,正方形应该爆炸,否则正方形应该掉落。我创建了一个简单的联系人侦听器,我可以检测子弹和正方形之间的碰撞,但问题是当字母不正确时如何避免碰撞力?我认为在这种情况下(不正确的字母),我希望正方形在不向正方形施加碰撞力的情况下简单地倒下


也许我可以删除正方形并在删除的位置创建一个新的,但我认为这不是最好的主意:)

我的一个建议是碰撞,如果字母不正确,将物体的x和z速度设置为0。这样,当它们与不正确的方块碰撞时,它们将简单地坠落


你可以做的另一件事是将目标方块的主体设置为固定的(或者刚性的,我记不起在我头顶的Box2d中它叫什么)。因此,即使一个不正确的字母与它碰撞,它也不会移动,但字母会从上面弹下来。如果字母是正确的,你可以像平常一样分解它。

我建议的解决方案是在contact listener的PreSolve回调中将项目符号在两个方向上的速度设置为0。显然,您在PreSolve函数中进行了检查。这样,由于函数名为PreSolve,碰撞计算尚未进行。因此,将“速度”设置为0将使子弹在力方面对正方形没有影响。

谢谢!我忘了这一点——简单的解决方案通常是最好的!:)