Android開発を行うときにアニメーションを作成する最良の方法は何ですか?


10

私は最初のAndroidゲームを作成しようとしています。現在、アニメーションを作成するための最良の方法は何かを(図面を作成する人と別のプログラマーと)理解しようとしています。(キャラクターの動きなどのアニメーション)

最初に、デザイナーはオブジェクト/キャラクターを描画し、フラッシュでそれらをアニメーション化できるため、アクションのすべてのフレームを描画する必要がないと述べました。他のプログラマーと私はFlashをあまり知らないので、Flashアニメーションからすべての画像を抽出し、アニメーションが始まるときに次々と表示されるようにすることを提案しました。

彼はそれがCPUのリソースを使い過ぎる結果になると私は同意する傾向があると彼は言った、しかし私はハードウェアにあまりにもハードでなく、可能な場合にはそれなしでスムーズなアニメーションを作る方法が本当にわからないデザイナーはAdobe Illustratorですべてのフレームを描画します。

経験豊富なAndroidゲーム開発者がこれを調整して、アニメーションを作成する最良の方法がわからないので、ゲームの他の部分に進むことができますか?

回答:


12

2Dアニメーションを検討している場合、1つのスプライトをレンダリングしてから、別のスプライトをレンダリングしても、デバイスに問題はありません(スプライトが巨大でない限り)。

以下は、少し検索して最初に見つけた典型的なアニメーションスプライトです。これは一般的に使用されている手法であり、無料の(そうでない場合は常にライセンスを確認する)スプライトシートを提供する多くのWebサイトがあります。

画像ソース:[ここ](http://gaminggroundzero.com/?page_id=31)

画像+著者ソース:ここ

緑は画像の透明色として設定されているため、不要な色の領域がありません。アニメーションを再生するには、スプライトシートのアニメーションシーケンス内の各アニメーションの座標を知っている必要があります。

Androidの場合、Chris Pruett(旧Google)が作成したレプリカアイランドと呼ばれるオープンソースのゲームエンジンを見てみましょう。ソースコードが利用可能になり、彼のSpriteAnimation.javaSpriteComponent.javaを見ることができます。

A SpriteAnimationはフレームカウントと一意のIDで単純に作成され、ゲーム内の各俳優は複数のアニメーションを持つことができます。にSpriteAnimationAnimationFramesの数を指定でき、それぞれの持続時間はミリ秒です。つまり、キャラクターが移動したり攻撃したりするかどうかに応じて、さまざまなアニメーションを入れ替えたり入れ替えたりできます(を参照AnimationComponent.playAnimation(int id))。

ゲームループの各反復は、AnimationFrameさんはgetFrame(float time)その後、レンダリングシステムにオフに送信されますし、フレームを返す、と呼ばれ、それをチェックし、どのくらいの時間は、最後のメインループ反復経過し、次に再生するためにどのフレームを決定しました。これにより、アニメーションが遅すぎる場合にアニメーションフレームをスキップできます。

この例が機能することを願っています。Androidマーケットプレイスの実際のゲームで使用されていることがわかります


よく説明された詳細な回答に感謝します!これをゲームにどのように適用できるかを見ていきます。これはとても役に立ちます!
Adam Smith

@AdamSmith:そのようなスプライトシートを使用することは、2Dアニメーションの最良の方法です。アーティストがアニメーションをフラッシュまたは別のプログラムで作成しても、アニメーションを画像にエクスポートしてスプライトシートにパック
bummzack

@bummzackそれは私が望んでいた種類の答えです、ありがとう!
Adam Smith

@AdamSmithも注意してください(混乱を避けるため)。レプリカアイランドは実際にはスプライトシートを使用せず、単一のファイルを使用します。スプライトシートが役立つ理由についての説明は、ここと(詳細はこちら)にあります
マーティンフット

@Martin Foot、あなたは非常に素晴らしい説明をしました。しかし、私はまだ混乱しています。10〜15種類のアニメーションがあり、それぞれのフレームに320x480のサイズがあり、フルスクリーンアニメーションと言えます。では、スプライトシートまたは単一のアニメーションソースファイルを入手するために何をすればよいとお考えですか 何を使うか迷っている。親切に私に最良の方法を提案してください..どうもありがとうございました...
スコーピオン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.