0

それで、jme3 エンジンと SDK の使い方を学んでいます。私は、SimpleApplication を拡張してアプリケーションをさらにオブジェクト指向にするメイン アプリケーション ファイルの外部での作業をいじり始めました。

私の質問はこれです.物理オブジェクトを正しく初期化するにはどうすればよいですか? のように.. phyiscs という名前の BulletAppState オブジェクトを持つ Player クラスを作成しますが、最初は値が割り当てられていません! コンストラクター内で割り当てられます。

class Player {
     BulletAppState physics;

     public Player(BulletAppState physicsState) {
          this.physics = physicsState; // State should now be initialized when 
                                       // this constructor is is called
     }
}

次に、メインクラスファイルで

class Main extends SimpleApplcation {

     Player player;
     BulletAppState physics;

     public static void main(String[] args) {
          Main app = new Main();
          app.start();
     }

     @Override
     public void simpleInitApp() {
          physics = new BulletAppState();
          physics.setThreadingType(BulletAppState.ThreadingType.PARALLEL);
          stateManager.attach(physics);

          player = new Player(); 
     }
}

期待した結果が得られません。

出力結果は次のとおりです。

メインクラスの物理状態は有効ですか? 真実

プレーヤー クラスの物理状態が有効になっていますか? 間違い

4

2 に答える 2