我正在使用UIAccelerometer
以纵向模式在屏幕上制作一个球。
它工作正常,现在我希望在横向模式下工作。当我试图在横向模式中使用相同的代码部分(用于肖像)时,它给了我一个奇怪的结果,似乎是完全错误的。
下面的代码是纵向视图。
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
// apply acceleration to velocity
NSTimeInterval elapsedTime = acceleration.timestamp - lastAccelTimestamp;
ballVelocityX = ballVelocityX + (acceleration.x * MAX_ACCEL_PER_SEC * elapsedTime);
ballVelocityY = ballVelocityY - (acceleration.y * MAX_ACCEL_PER_SEC * elapsedTime);
if (lastAccelTimestamp > 0) {
// recalc ball position
ballX += (ballVelocityX * elapsedTime); // ballX is CGFloat
ballY += (ballVelocityY * elapsedTime); // ballY is CGFloat
// update view
[ballView setCenter:CGPointMake(ballX, ballY)];
}
lastAccelTimestamp = acceleration.timestamp;
}