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