iOS と Windows Phone から Android にゲームを移植しています。ポート用に私がフォローしているコードのほとんどは、Java に最も似ているという理由だけで、Windows Phone バージョンのものです。私の質問は、LibGDX の OrthographicCamera クラスに関するものです。
このゲームのコンポーネント コンテナ メソッドとしてゲーム オブジェクトを使用しています。これについては、http: //cowboyprogramming.com/2007/01/05/evolve-your-heirachy/で読むことができます 。したがって、ゲーム内のほとんどすべてが Component コンポーネント クラスを拡張します。そして、各ゲーム オブジェクト、つまりボールは、Sprite、RigidBody (物理演算用)、Transform2 (位置、回転など) などのコンポーネントで構成される GameObject です。これには、OrthographicCamera メンバーをラップする Camera2 クラスが含まれます。
私には2つの問題があり、それを際限なく研究しています。レイヤリングの仕方がわかりません。ゲームには引き出しがあり、ユーザーは下にスワイプしてドラッグして開くことができます。これは、ゲーム内の他のものの上にある必要があります。XNA バージョンの開発者がこれを達成した方法は、複数の SpriteBatch を用意し、本質的に各 SpriteBatch をレイヤーとして扱うことでした。これは LibGDX では機能せず、複数の SpriteBatches を使用するのは悪い習慣です。問題は、ゲーム オブジェクトがツリーとして編成され、ツリーのトラバーサルに従ってレンダリングされるため、オブジェクトがツリーに挿入された時点に基づいて順序付けが行われることです。Zオーダーを使用できるようにDecalBatchを調べましたが、ゲームがほぼ完成しているため、リファクタリングの割り当てが必要になります。
これはすでに長い投稿なので、別の投稿で 2 番目の問題を質問します。