我使用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);
在这段代码中有一个问题。如果我在顶部移动设备,那么图像在左侧移动,如果设备向左移动,那么图像在顶部移动。你可以给我建议。
答案 0 :(得分:0)
可能是坐标问题。 我不确定这是问题但是在Quartz中,(0,0)位于左下角,而UIKit位于左上角。
尝试使用 frame.origin.x 和 frame.origin.y 更改坐标,而不是使用CGPoint。