如何使用Accelerometer正确移动图像?

时间:2009-11-26 11:00:25

标签: iphone cocoa-touch

我使用UIAccelerometer实现了运动图像。我使用了下面的代码。

代码:

float gravX = (acceleration. x * kFilteringFactor) + (gravX * (1 - kFilteringFactor));
float gravY = (acceleration. y * kFilteringFactor) + (gravY * (1 - kFilteringFactor));
float moveX = acceleration. x - gravX;
float moveY = acceleration. y - gravY;  
CGPoint MoveCenter = [moveImage center];
float Movex = moveX * 30 + MoveCenter. x;
float Movey = moveY * 30 + MoveCenter. y;
moveImage.center = CGPointMake(Movex, Movey);

在这段代码中有一个问题。如果我在顶部移动设备,那么图像在左侧移动,如果设备向左移动,那么图像在顶部移动。你可以给我建议。

1 个答案:

答案 0 :(得分:0)

可能是坐标问题。 我不确定这是问题但是在Quartz中,(0,0)位于左下角,而UIKit位于左上角。

尝试使用 frame.origin.x frame.origin.y 更改坐标,而不是使用CGPoint。