CGAffineTransforms
いくつかのとを使用してアニメーションをつなぎ合わせようとしていますCGAffineTransformConcats
。私が達成しようとしている全体的な目標は、画像を45度回転させながら、50ピクセル上に移動してから、下に戻る途中でさらに45度回転させることです。
CGAffineTransform translateUp = CGAffineTransformMakeTranslation(0, -50);
CGAffineTransform firstSpin = CGAffineTransformMakeRotation(M_PI_4);
CGAffineTransform translateDown = CGAffineTransformMakeTranslation(0, 50);
CGAffineTransform secondSpin = CGAffineTransformMakeRotation(M_PI_4);
CGAffineTransform transform1 = CGAffineTransformConcat(translateUp, firstSpin);
CGAffineTransform transform2 = CGAffineTransformConcat(translateDown, secondSpin);
CGAffineTransform transformFull = CGAffineTransformConcat(transform1, transform2);
[UIView beginAnimations:@"MoveAndRotate" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
mainCharacterImage.transform = transformFull;
[UIView commitAnimations];
さて、私はCGに関連するすべてのものにかなり慣れていないのですが、なぜこれが機能しないのかわかりません。
しかし、これが奇妙な部分として機能していないという事実ではないと思います。私の質問は主に、上記のコードによって画像が上下に移動するだけでなく、移動する理由を誰かに説明できますか?右に約100ピクセル?
どんな提案でも大歓迎です!