iOSアプリの起動直後に表示したい3秒のPNGシーケンス(ロゴアニメーション)があります。これはアプリ内の唯一のアニメーションシーケンスであるため、Cocos2Dは使用しないことをお勧めします。
しかし、UIImageViewを使用すると、iPodTouchanimationImages
デバイスのメモリが不足します。
このアニメーションを表示するためのよりメモリを意識した/効率的な方法はありますか?おそらく、Cocos2Dを含まないスプライトシートクラスですか?または、他の何か?
iOSアプリの起動直後に表示したい3秒のPNGシーケンス(ロゴアニメーション)があります。これはアプリ内の唯一のアニメーションシーケンスであるため、Cocos2Dは使用しないことをお勧めします。
しかし、UIImageViewを使用すると、iPodTouchanimationImages
デバイスのメモリが不足します。
このアニメーションを表示するためのよりメモリを意識した/効率的な方法はありますか?おそらく、Cocos2Dを含まないスプライトシートクラスですか?または、他の何か?
これがアニメーションのスプラッシュ画面などである場合、HIGはそのような動作に眉をひそめることに注意してください(少なくともフルスクリーンゲーム以外では)。
このような議論(またはゲームの作成)に不安がある場合は、アニメーションをMPEG-4ビデオとして保存し、それを使用して表示することを検討してくださいMPMoviePlayerController
。優れたコンプレッサーを使用すれば、サイズとメモリ使用量を大幅に削減しながら、高品質のロゴアニメーションを維持できるはずです。
他の方法で多くの改善が見られるとは思えません。たとえば、スプライトシートは、PNGのシーケンスと同じ種類の作業を引き続き実行します。問題は、ほとんどのアニメーションで、多くのピクセルがフレーム間で変更されていないことです...一連の画像として表示する場合、時間的に複製されたピクセルに多くの時間とスペースを浪費します。これが、ビデオコーデックがある理由です。
必要に応じて、png画像を手動でロード/アンロードしてみてください。フレームレートの要件がわかりません。また、まともな品質のjpgまたはアニメーションGIFを検討してください。また、画像が画面全体に表示されないように、いつでも画像を小さくすることができます。ほんの少しの考え。