我正在製作一個iphone應用程序,其中一個球將圍繞屏幕滾動,這取決於用戶如何傾斜設備。理論上,如果設備平躺在桌子上,球不會移動。如果設備傾斜完全向上,我希望球以最大速度直線向下滾動。速度取決於設備傾斜的平面位置距離多遠。此外,它也適用於用戶向右或向左或向上傾斜或四者的組合。我現在正在使用加速度計,並且球移動並且工作正常,我對物理學不太瞭解。如果有人對如何讓這個工作順利進行,請讓我知道。使用加速度計傾斜iPhone的滾球
謝謝!
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
float xx = -[acceleration x];
float yy = [acceleration y];
float z = -[acceleration z];
z = 1 - z;
NSString * zaxis = [NSString stringWithFormat:@"%f", z];
lblz.text = zaxis;
lbly.text = [NSString stringWithFormat:@"%f", yy];
lblx.text = [NSString stringWithFormat:@"%f", xx];
CGFloat newx;
CGFloat newy;
if (yy > 0)
{
newy = ball.center.y - ((1 - yy) * z);
}
else
{
newy = ball.center.y + ((1 - yy) * z);
}
if (xx > 0)
{
newx = ball.center.x - ((1 - xx) * z);
}
else
{
newx = ball.center.x + ((1 - xx) * z);
}
CGPoint newPoint = CGPointMake(newx, newy);
ball.center = newPoint;