如何避免box2D中的碰撞力?

时间:2013-08-21 12:28:54

标签: ios cocos2d-iphone box2d collision

我用Cocos2D和Box2D创建简单的iOS游戏。在我的游戏中,用户必须通过用字母拍摄到正方形来创建完整的单词。如果拍摄的字母是正确的,广场应该爆炸,否则广场应该倒下。我已经创建了简单的接触式监听器,我可以检测到子弹和方形之间的碰撞,但问题是如何在字母不正确时避免碰撞力?我那种情况(不正确的字母)我希望广场简单地倒下而不对广场施加碰撞力。

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

2 个答案:

答案 0 :(得分:1)

我要做的一个建议就是碰撞,如果字母不正确,将x和z的速度设置为0.这样当它们与不正确的方块碰撞时,它们就会掉落。

你可以做的另一件事是将目标方块的主体设置为固定的(或者是刚性的,我不记得它在我头顶的Box2d中被称为什么)。因此,即使一个不正确的字母与它发生碰撞,它也不会让步,但这封信会反弹掉。这封信是正确的,你可以正常爆炸。

答案 1 :(得分:0)

我建议的解决方案是在联系人监听器的PreSolve回调中将子弹的速度设置为0。显然你会检查PreSolve功能。这种方式因为函数称为PreSolve,碰撞计算尚未发生。因此将速度设置为0将使子弹在力方面对方形没有影响。