2009-11-26 5 views
0

J'ai mis en œuvre l'image en mouvement en utilisant UIAccelerometer.J'ai utilisé le code ci-dessous.Comment déplacer correctement une image avec UIAccelerometer?

code:

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); 

Dans ce code, il est une problème.Si i déplacer dispositif sur le côté haut, puis l'image se déplace sur le côté gauche, si l'appareil est ensuite déplacer l'image côté gauche se déplace haut side.can tu me donnes des conseils.

Répondre

0

Peut-être est-ce un problème de coordonnées. Je ne suis pas sûr que ce soit le problème mais dans Quartz le (0,0) est en bas à gauche alors que sur UIKit est en haut à gauche.

Essayez de changer les coordonnées avec frame.origin.x et frame.origin.y au lieu d'utiliser CGPoint.

Questions connexes