box2d iPhoneアプリのオブジェクトにインパルスを適用し、特定の方向に速度を上げたいと思っています....つまり、2つのことが必要です
1.対象物を一方向に通過する 2.速度を上げる
助けてください..
box2d iPhoneアプリのオブジェクトにインパルスを適用し、特定の方向に速度を上げたいと思っています....つまり、2つのことが必要です
1.対象物を一方向に通過する 2.速度を上げる
助けてください..
b2Vec2 force = b2Vec2(xAcceleration, yAcceleration);
force *= dt; // Use this if your game engine uses an explicit time step
b2Vec2 p = myObjectBody->GetWorldPoint(b2Vec2(0.0f, 0.0f));
body->ApplyForce(force, p);
xAcceleration
とを変更するyAcceleration
ことで、さまざまな方向にさまざまな速度でオブジェクトを動かすことができます。(角度を計算する場合はforce.Normalize();
、速度を使用して乗算することをお勧めします。)
b2Vec2 vector = self.speed * b2Vec2(cos(angle), sin(angle));
self.yourbodyBody->SetLinearVelocity(vector);
[self schedule:@selector(increaseSpeed) interval:0.1];
- (void)increaseSpeed
{
self.speed += 0.01;
float angle = self.yourbodyBody->GetAngle();
b2Vec2 vector = self.speed * b2Vec2(cos(angle), sin(angle));
self.yourbodyBody->SetLinearVelocity(vector);
}