我正在为iPhone编写Cocos2D box2d游戏。 我有2个动态的身体,我希望他们从外面施加力量,但他们不施加力量对方,并检测他们的碰撞。 我该如何做到这一点?iPhone cocos2d box2d身体碰撞检测不用力
我也希望他们在碰撞后在同一个位置一起移动。 我该怎么做?
我正在为iPhone编写Cocos2D box2d游戏。 我有2个动态的身体,我希望他们从外面施加力量,但他们不施加力量对方,并检测他们的碰撞。 我该如何做到这一点?iPhone cocos2d box2d身体碰撞检测不用力
我也希望他们在碰撞后在同一个位置一起移动。 我该怎么做?
他们不用力对方并检测他们的碰撞
听起来像是你可能想看看在碰撞过滤。这个答案有一些代码,改变车身动态https://stackoverflow.com/a/11283206/735204
他们在相同的位置一起移动,碰撞后
也许某种联合(如weldjoint?)
碰撞过滤指标从手册:http://www.box2d.org/manual.html
接头是用于约束机构世界或每个O疗法。游戏中的典型例子包括ragdolls,teeters和滑轮。关节可以用许多不同的方式组合起来创造有趣的动作。
某些关节提供了限制,因此您可以控制运动范围。一些接头提供的电机可用于以规定的速度驱动接头,直到超过规定的力/转矩。
联合电机可用于许多方面。通过指定与实际位置和所需位置之间的差值成比例的关节速度,可以使用电机控制位置。您还可以使用电机来模拟关节摩擦:将关节速度设置为零,并提供一个很小但很重要的最大电机力/力矩。然后,电机将尝试保持接头不动,直到负载变得太强。
对不起,最后的答案,只是检查我可以写它。
这是怎么回事?
bodyDef.isSensor = true;
并使用ContactListener检测碰撞。 Box2d for collision detection
此外,您可以使用box2d过滤器。例如:
请注意:如果groupIndex < 0,相同的物体不会相互碰撞。那是你需要的。
b2Filter bodyFilter;
bodyFilter.groupIndex = -1;
bodyFilter.categoryBits = 0x0002;
fixtureDef.filter = bodyFilter;
林不知道你在问什么。你应该考虑重写这个问题或者增加更多的内容。 – 2012-08-17 15:57:14