私は現在、学習プロジェクトとして小さなゲームを設計しています。基本的には、画像が回転および拡大されviewDidLoad
、別の画像が元の画像の直接コピーです。
つまり、基本的に他の画像とは少し異なる画像があります。目的は、縮小して回転させ、5 ピクセル、5 度の回転、5 パーセントのスケールで他の画像の上に移動することです。
問題が発生しました。次のコードを使用して画像を「ゆがめます」...
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformScale(transform, 1.25, 1.25);
画像を回転させてから 125% 拡大すると、パン ジェスチャが正しく実行されません。
ここで何が起こっているのか知っている人はいますか?間違って言うと、指で動かないという意味です. 滑るように見えるか、反対方向に進むように見えます. ビデオ。
私のパンジェスチャー方法は以下です。
if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
CGPoint translation = [gesture translationInView:image];
//if within game field
if((image.center.x + translation.x) > 50.0 && (image.center.x + translation.x) < 255.0 && (image.center.y + translation.y) > 50.0 && (image.center.y + translation.y) < 302) {
[image setCenter:CGPointMake([image center].x + translation.x, [image center].y + translation.y)]; //move it
}
}
[gesture setTranslation:CGPointZero inView:[image superview]];
if(gesture.state == UIGestureRecognizerStateEnded) [self didWin]; // not relevant to question
画像を回転およびスケーリングした後、パンが正しく実行されない理由を知っている人はいますか? コードの最初の 2 行をコメント アウトすると、パンは正しく実行され、ユーザーの指で動き回ります。
提案やヘルプをお寄せいただきありがとうございます。