私は最近、リリース前に自分の Android ゲームを微調整して、ユーザーにとってより魅力的なものにしようとしています。さまざまな成功したゲームに単純な傾向があることに気付きました。ほとんどのゲームでは、アニメーションの背景がメニューに統合されているようです。具体的には、たとえば、風になびく木の葉や、ボタンの後ろの画面を移動する雲が新しいゲームを開始することを意味します。
私の質問
そのような動作を実装する効率的な方法は何ですか? 私はすでに多くの手段を追求してきましたが、それらはすべて、非常に多くのオーバーヘッドを必要とするように見えるため、私が取っているアプローチに疑問を投げかけています.
これまでに試したこと
- バックグラウンド リソース (
android:background="animation.xml"
) をアニメーション ファイルに設定し、30 ほどのフレームにリンクします。
このアプローチで私が抱えている問題は、デバイスが実行されている画面と同じ解像度の .png ファイルを 30 個もゲームにパッケージ化すると、スペースが大幅に浪費されるように思われることです。それらを直接アニメーション化できるはずですよね?
- さらに別の方法
SurfaceView
を使用して画面をレンダリングし、位置情報をハードコーディングして単純にアニメーション化し、ボタンをオーバーレイするだけです。
ここでの問題は、1 つのスレッドを停止し、別のスレッド (ゲーム スレッド) を開始し、再起動したとき (ユーザーが [戻る] を押したとき) にスレッドが既に閉じていることを確認するという複雑な作業に取り組まなければならないことです。これは、メニュー画面をアニメーション化するためだけに実装するにはかなりのオーバーヘッドのようです。
私が考えたこと
私は、トゥイーン アニメーションを使用して、.png でスキニングされたビューを画面全体に移動するというアイデアを検討しました。ただし、これは非常に「ハッキーな」アプローチのように思われるため、そのような操作を回避できれば幸いです。
過去にこれで問題が発生した人はいますか? それぞれのアプローチはどのようなものでしたか? いつでもそのままゲームを起動することもできますが、できるだけ魅力的なものにしたいと思っています。
どんな援助でも大歓迎です!