我正在使用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;
}