我正在使用LibGDX制作2D等距平铺游戏。在我的Player类中,我创建了一个名为' pos'的vector2。要管理玩家位置,然后我用:
绘制我的玩家batch.begin();
batch.draw(localPlayer.texture,LocalPlayer.pos.x,LocalPlayer.pos.y);
batch.end();
让我们说pos =(0,0),然后播放器会在屏幕的左下角呈现。
当我翻译相机时,(0,0)仍然对应于我的屏幕左下角,所以pos Vector2与我的屏幕有关,而不是我的地图......
如何根据地图而非屏幕获取坐标系?我不喜欢使用Sprite Class ...
谢谢:)
答案 0 :(得分:2)
Basim Khajwal是对的,
调用batch.setProjectionMatrix(camera.combined)非常有效:)
但是,如果您正在寻找更深入的理解,您也可以在这里阅读这篇文章:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/
在哪里"查看位置"是你的屏幕位置和"模型位置"是你的地图位置。