このプロパティの使用:
b2FixtureDef ballShapeDef;
ballShapeDef.shape = &circle;
ballShapeDef.density = 1.0f;
ballBodyDef.linearDamping = 1.0f;
ballBodyDef.bullet = YES;
ballShapeDef.friction = 1.0f;
ballShapeDef.restitution = 0.7f;
ballBodyDef.angularDamping = 3;
重力(0,0)に設定された世界でビリヤードボールをシミュレートし、次のようにボールを打つことを試みています。
- (void) applyShot:(float) ang {
float vx = 10 * cosf(ang);
float vy = 10 * sinf(ang);
b2Vec2 velVec = _whiteBall->GetLinearVelocity();
velVec.x += (vx * 10);
velVec.y += (vy * 10);
_whiteBall->SetLinearVelocity(velVec);
}
ボールは、より強いショットの後、停止せずにテーブル上をゆっくりと「滑る」ため、実際には少し非現実的な動作をします。
私のテーブルの境界線は静的な壁ですが、それで十分ですか?
よろしくミルザ