1

スプライトシートのcontentsRectsプロパティのCAKeyframeAnimationがあり、CALayerでアニメーションを表示します。ほとんどの場合はすべて機能しますが、1フレームのスプライトシートの間違った部分が表示されることがあります。CAKeyframeAnimationはディスクリートモードに設定され、すべての座標がチェックされます。CAKeyframeAnimationがキーフレームを見逃し、提供されたcontensRectsの配列に基づいて切り抜くと想定される部分ではなく、スプライトシートの中央部分だけを表示することがあるようです。上記を修正する方法は?また、同じトピックで、CAKeyframeAnimationを一般的にデバッグし、何が起こっているのかを調べる方法はありますか?

ありがとう!

4

1 に答える 1

1

これを修正するために、アニメーションをCATransactionでラップし、すべてのレイヤーアクションを一時的に無効にしました。

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; // we need to disable all layer actions temporarily

.............. the rest of animation code ...............

[CATransaction commit];

Appleのドキュメントに感謝します!

于 2011-06-18T18:48:23.113 に答える