이 코드는 가속도계 방법에 사용됩니다.다음 코드에서 어떤 현상이 발생합니까?
CGFP 변수 인 playerVelocity를 사용합니다.
-(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
변수가 CGPoint 그래서 나는 X, Y 그래프로 상상 것을 알고있다. 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
이 어떻게 움직이는 지 알게 될 것이다.
나는 본다. 그래서 움직임은 기본적으로 위치에 속도를 추가하는 다른 방법 (업데이트 방법)에서 발생합니다. 알겠습니다. 고맙습니다. –