1

libgdx を使用して、32x32 タイル (各タイルは 32x32 ピクセル) のマップをレンダリングしています。これには OrthogonalTiledMapRenderer を使用しています。次に、上下左右を使用して移動できる単純なテクスチャを画面にレンダリングします。私が望むのは、マップ タイルの位置に関してテクスチャの位置を取得することです。たとえば、テクスチャがタイル (0, 0) の上にある場合、これを知りたいです。これまでのところ、camera.unproject(texcoordpositionVector)これらを取得するために使用しようとしましたが、一貫して機能していません。

編集: マップ レンダラーとカメラのセットアップ方法は次のとおりです。

SCALE = 10;
w = Gdx.graphics.getWidth();
h = Gdx.graphics.getHeight();

map = new TmxMapLoader().load("map.tmx");
camera = new OrthographicCamera(SCALE * (w / h), SCALE);
renderer = new OrthogonalTiledMapRenderer(map, 1/32f);

次に、レンダリングするには:

camera.update();
camera.apply(Gdx.graphics.getGL10());
renderer.setView(camera);
renderer.render();
4

1 に答える 1

1

テクスチャがマップと同じカメラで描画されている場合、テクスチャは既にタイル空間にあるはずです。別のカメラを使用している場合は、そのカメラを使用して位置を投影してから、マップ カメラで投影を解除する必要があります。

于 2013-06-13T13:35:34.770 に答える