1
我正在使用加速度计在屏幕上移动图像(直升机)。我试图添加代码,所以当直升机向前移动时,它将图像视图旋转20度,当直升机向后移动时,它将图像视图旋转-20度,这个想法是为了创造直升机移动更逼真的效果。然而,当应用旋转时,uiimageview会移回原始起始位置(我将它放在故事吟游诗人的位置)。任何想法为什么?下面的代码:旋转uiimageview将图像移回原始故事板位置
-(void)outputAccelerationData:(CMAcceleration)acceleration
{
if (helicoptervalueX>1.5){
helicopterrotation = 1;
helicopter.transform = CGAffineTransformRotate(CGAffineTransformIdentity,0.34906585);
NSLog(@"Tilt forward");
} else if (helicoptervalueX < -1.5){
helicopterrotation = -1;
helicopter.transform = CGAffineTransformRotate(CGAffineTransformIdentity, -0.34906585);
NSLog(@"Tilt backward");}
else if (helicoptervalueX<=1.5 && helicoptervalueX>=-1.5){
helicopterrotation = 0;
helicopter.transform = CGAffineTransformRotate(CGAffineTransformIdentity, 0);
NSLog(@"Helicopter flat");}
helicoptervalueX = -(acceleration.y*50.0)+calibrationx;
helicoptervalueY = (acceleration.x*50.0)+calibrationy;
int helicopternewX = (int)(helicopter.center.x + helicoptervalueX);
if (helicopternewX > 518) {
helicopternewX = 518;}
if (helicopternewX < 50){
helicopternewX = 50;}
int helicopternewY = (int)(helicopter.center.y - helicoptervalueY);
if (helicopternewY > 295){
helicopternewY = 295;}
if (helicopternewY < 25){
helicopternewY = 25;}
CGPoint helicopternewCenter = CGPointMake(helicopternewX, helicopternewY);
helicopter.center = helicopternewCenter;
}