使用box2d
和cocos2d,我需要创建一些b2body
模型,其中该主体将是一条线或整体(由带编码的矢量组成),可以“传递”当球以高速撞击他时,用一个球。
所以,换句话说,就像在现实世界中一样,材料应该是柔软的,可以被打破。
零密度不会那样做。 还有另外一种方法吗?
谢谢。
答案 0 :(得分:0)
为什么要制作一个?????用砖块(较小的颗粒)制作墙壁,这些砖块会因撞击而坠落.....
获得此功能的另一种方法是使用contactListener的presolve ....检查两个物体之间的碰撞,如果一个物体的速度大于某个值,则联系人禁用...
从我的一个游戏中获取此代码.....
`enter code here`if ((userDataObjectA.userDataType == kObjectTypeMotherShip || userDataObjectB.userDataType == kObjectTypeMotherShip) && (userDataObjectA.userDataType == kObjectTypeSaucer || userDataObjectB.userDataType == kObjectTypeSaucer)) {
b2WorldManifold worldManifold;
contact->GetWorldManifold(&worldManifold);
if (userDataObjectA.userDataType == kObjectTypeSaucer) {
b2Vec2 saucerVelocity = bodyA->GetLinearVelocity();
if (saucerVelocity.y > 2) {
contact->SetEnabled(false);
}
} else if (userDataObjectB.userDataType == kObjectTypeSaucer) {
b2Vec2 saucerVelocity = bodyB->GetLinearVelocity();
if (saucerVelocity.y > 2) {
contact->SetEnabled(false);
}
}
}