私はAndroid用の簡単なゲームを作っています。私はどのレンダリング方法を使うべきかを考えようとしています。私はかなりシンプルなので、かなり新しいです。私がやろうとしていることは、非常にシンプルです。2.5D(スキュー画像)のボックスを描いて洞穴探しの形にしましょう。無限の箱を見ているように、文字が動いて周りに飛びます。割り当てられた数十のボックスから成り立っていて、スポーンされたときランダムにオン/オフします。 http://developer.android.com/guide/topics/graphics/2d-graphics.htmlから選択すると、私の状況にはどのオプションが理想的でしょうか?キャラクターは、加速度計の傾きに基づいて移動し、ボックスは視点を変更することはありませんが、自由な動きをします。グラフィックスを表示するための最良の方法
答えて
そのページの「オプション」:ビューレイアウトやキャンバスを使用することは、本当にオプションです。アンドロイドでのすべての描画(OpenGLと他の低レベル3Dレンダリングを除いて)はCanvas
で行われます。
ここでのオプションは、の指定方法の詳細です。キャンバスに描かれているものはです。最初のオプションでは、layout xmlを使用してキャンバスに描かれる内容を指定することができます。 2番目のオプションは、ViewのonDraw()メソッドの間にキャンバスに直接描画することです。
現実的な動きとアニメーションを備えたゲームの場合は、onDraw()イベント中にキャンバスに直接描画します。
メニュー画面の静的な(レイアウトxml)描画を行うことができます。
最も簡単な方法でカスタムアニメーションを処理できるため、サーフェイスビューを使用したいと考えています。
OpenGLと3D変換を学ぶことが理想的です。 2.5dとしては本当のことはありません。おそらくあなたが話しているのは、3D正射投影です。これは2dスプライトで行われることもありますが、時には3次元オブジェクトで行われることもあります。
センサー情報を取得するには、Android APIでSensorManagerを使用します。
これは、描画する必要のあるビットマップの数と、フレームレートをどのようにしたいかに基づいています。キャンバスへの描画はCPUを介して行われるため、ハードウェアアクセラレーションされたOpenglを使用するよりも時間がかかります。キャンバスは実際には20〜40x20x20ビットのビットマップまで素晴らしい仕事をしています。 (これは過去の経験からであり、非常に荒いです)。
単純なことからできればキャンバスを使用することに固執します。ゲームループの内容とゲームの内部を設計する方法を理解するのに役立ちます。
幸運
- 1. アプリケーション全体に「No Connection」メッセージを表示するための最良の方法
- 2. 角度5のリンクを表示/非表示するための最良の方法
- 3. 3Dグラフィックスを操作するための最良の経路は何ですか?
- 4. anglejsの動的オプションメニューを表示するための最良の(最も効率的な)方法
- 5. ウィジェットを隠す/表示するための最善の方法
- 6. iPhoneアプリのグラフィックスを入手するための良いサイト
- 7. Android; ListViewは複数の独立したプログレスバーを表示するための最良の方法ですか?
- 8. WPFで画像を表示する最良の方法
- 9. (Java)イメージを表示する最良の方法は?
- 10. Android - API clientId&clientSecretを非表示にする最良の方法
- 11. サーバ上のファイルを一覧表示するためのFTPクライアントプログラムを作成する最良の方法は?
- 12. カスタマイズされたメッセージダイアログを表示するための最良の方法は何ですか?
- 13. のJavaを配布するための最良の方法は、
- 14. トピックの「ビュー」を格納するための最良の方法
- 15. spacemacsのido-diredをアンバインドするための最良の方法
- 16. オフラインのウェブサイトを配信するための最良の方法
- 17. OpenNTFドミノAPI - 始めるための最良の方法
- 18. ストリームデータを保存するための最良の方法
- 19. Jythonパッケージを管理するための最良の方法
- 20. フレックスでスプライトをアニメーション化するための最良の方法
- 21. AppKitフレームワークをマスターするための最良の方法
- 22. perl - gzippedファイルを作成するための最良の方法
- 23. スプレッドシートをウェブデータベースに接続するための最良の方法
- 24. sqlalchemyオブジェクトを操作するための最良の方法
- 25. ロギングデータを集約するための最良の方法
- 26. Firebase +角度データをクリアするための最良の方法
- 27. CFでwebserviceを実装するための最良の方法
- 28. OSGiバンドルコンテキストを取得するための最良の方法は?
- 29. ウェブサイトを展開するための最良の方法は?
- 30. .NETソースコードを印刷するための最良の方法
私はa)ビューオブジェクトを使用するか、b)キャンバスに描画することを検討しています。 – Taslem
@Taslem私はあなたの明確化に従って私の答えを編集しました。 – spatulamania