我使用libgdx渲染32x32瓦片(每個瓦片爲32x32像素)的地圖。我爲此使用了OrthogonalTiledMapRenderer。然後,我使用向上/向下/向右/向左移動可在屏幕上移動的簡單紋理。我想要的是根據地圖切片位置來獲取紋理的位置。例如,如果紋理位於tile(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();
你是如何設置你的相機和/或地圖渲染器的視圖? 'camera.unproject'是開始的正確的地方,但您可能需要根據您的單位規模按摩結果。 –
@ P.T。我編輯了我的問題以包含這些信息。 –