このコードは、加速度計 メソッドで使用されます。次のコードで何が起こっていますか?
これは、playerVelocityというCGPoint変数を使用します。
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
//controls how quickly the velocity decelerates
float deceleration = 0.4f;
//determines how sensitive the accelerometer reacts
float sensitivity = 6.0f;
//how fast the velocity can be at most
float maxVelocity = 100;
playerVelocity.x = playerVelocity.x *deceleration + acceleration.x *sensitivity;
if (playerVelocity.x < -maxVelocity)
{
playerVelocity.x = -maxVelocity;
}
else if (playerVelocity.x > maxVelocity)
{
playerVelocity.x = maxVelocity;
}
}
今私はplayerVelocity
変数はので、私はX、Yグラフとしてそれを想像するCGPointであることを知っています。 playerVelocity
変数がどこにあっても(150.0としましょう)、加速度計の入力が受信されたとき(iPhoneが傾いているとき)に0.4で任意の座標を乗算してから、それを乗算するとaccelerometer.x
6.0〜playerVelocity
変数。これは正しいです?私はおよそ混乱している何
CGPoint pos = playerObject.position;
pos.x+= playerVelocity.x;
playerObject.position = pos;
経由
後で別の方法では、これは私の他のオブジェクトの位置に追加されますが、ここで舞台裏で起こっている正確に何です。上記の私の仮定は正しいですか?
playerVelocityが150,0で0.4を掛けた場合、playerVelocity変数のX座標は徐々に小さくなります(150,0,145,0,130,0など)。
私がこれを理解すると、私はplayerObject
がどのように動いているのかを知るでしょう。
です。 動きは基本的に私の他の方法(更新方法)で速度を位置に加えます.Ok、ありがとう、ありがとう。 –