0

私のアプリが同時に数十のアニメーションを実行していて、これがゲームであり、ユーザーが一時停止ボタンを押したかのように、それらすべてを一時停止したいとしましょう。それを行う最善の方法は何ですか?私は CAKeyFrameAnimations、UIView.Animate()、CABasicAniamtions などの組み合わせを使用しています。明らかに、ユーザーが一時停止したときに手動ですべてを停止し、ユーザーが一時停止を解除したときに停止した場所から再開することができます。これを行うより良い方法は?


編集:ユーザーがボタンを押すことで一時停止と再開ができるようにしたい。


2 番目の編集: 90% の方法で到達しましたが、まだ問題が発生しています...

これが私の Xamarin iOS プロジェクトです: https://www.dropbox.com/s/5zbhhao6cijtb1i/Test_Pause.zip

便利な Apple リファレンス: https://developer.apple.com/library/ios/qa/qa1673/_index.html

位置アニメーションを開始するアプリがあります。初めて一時停止すると、正しく一時停止します。再開を押すと、一時停止したところから正しく再開します。しかし、(同じアニメーション中に) 2 回目の一時停止を押すと、最初から一時停止していなかったかのように、その位置から再開します。本来あるべき場所よりもずっと前に一時停止します。もちろん、望ましい結果は、一時停止ボタンを押したときに正確に停止することです。

わかりにくいと思いますが、添付したサンプル プロジェクトは非常にシンプルです。問題を再現するには、上記のリンクからアプリをダウンロードしてください。それを実行します。同じアニメーション内で一時停止、再開、再び一時停止を行ってください。私が間違っていることは何か分かりますか?

4

3 に答える 3

0

CAAnimationGroupのサブクラスである を使用して、CAAnimationそのコンポーネントをグループとして操作できます (厳密にAnimations同期されているかどうかはわかりませんが、視覚的な目的には十分近いと思います)。

于 2013-10-17T20:05:34.803 に答える