さて、私はしばらくこれに対する答えを探していましたが、Google と私のすべての力が私を裏切ったようです。
私はこのクラスを取得しました。(私の世界)。MyWorld 内には、オブジェクトの配列があります
GameUnit m_MyUnits[] = new GameUnit[maxUnits];
現在、m_MyUnits は GameUnits とサブクラスで満たされ、チーズケーキのように幸せに画面を歩き回っています。それぞれに独自の小さな衝突検出を書いたので、お互いに衝突することはありません。
そして、すべて正常に動作しますが、! 衝突検出が機能するために、最も遅い方法を選択しました(そして、ほとんどのメモリが必要だと思います)
MyWorld では、最初に各 GameUnit をループし、配列の X と Y の位置を取得します private int[][] Positions = new int[2][maxUnits]);
次に、すべての GameUnit をループして、この配列をそれに割り当てます。(GameUnit には、このための Positions という独自の配列があります)
さて、これが機能している間、私はこれがばかげていると思わずにはいられません.... まぁ、そんな言葉はここでは使いません。
GameUnit が MyWorld の位置を呼び出す方法はありますか、それともより良い方法は、ゲーム ユニットが MyWorld で配列 m_MyUnits[].getX() および m_MyUnits[].getY() を呼び出す方法はありますか (私は Parent を使用します) GameUnit から MyWorld を参照する)
For(int i = 0;i < Parent.maxUnits;i++) {
int targetX = Parent. m_MyUnits[i].getX();
int targetY = Parent. m_MyUnits[i].getX();
//Do some thing like collition detection with the data.
}
これは可能ですか?
あなたのJavaApprentis。