0

私はLibGDXに不慣れで、問題が発生しています。TiledMap(-Renderer) を使用してマップを作成する、古典的なスタイルの RPG/アドベンチャー ゲームを構築しています。さまざまなチュートリアルに従いましたが、機能させることができません。(最後の 1 つは DPG のものでした: 完全な動作例のリンク)

私が必要としているのは、画面の右側にあるボタンの列です (ImageButtons を介して実装されています)。これらのボタンの 1 つは設定画面につながり、もう 1 つはゲーム マップにつながります。ボタンの ClickListener の下に、DPK のコードを追加しました

    MapHelper map = new MapHelper();

    map.setPackerDirectory("data/packer");

    map.loadMap("data/world/level1/level.tmx");

    map.prepareCamera((int)stage.getWidth(), (int)stage.getHeight());

    map.getCamera().update();

    map.render();

MapHelper クラスは dpk の正確なコピーです。上記の変更は、カメラの幅と高さの設定のみです。私がここで間違っていることは何ですか?

4

1 に答える 1

0

map.render()コールバックで呼び出したくないと思いますClickListener。つまり、マップはクリックしたときにのみレンダリングされ、再レンダリングされません(通常、画面が更新されるたびにすべてが再レンダリングされます)。

アプリケーションクラスでを追跡する必要があると思いますmap。ClickListenerコールバックでは、フラグを設定するか、何らかの方法でマップを「有効化」する必要があります(おそらくそれ以外に設定する必要がありますnull)。次に、アプリケーションのrender()メソッドで、マップをレンダリングする必要があるかどうかを確認し、レンダリングする必要がある場合はレンダリングします。

具体的には、呼び出しをに移動し、からprepareCamera移動getCamerarenderますClickListener

于 2013-03-13T05:15:01.410 に答える