Java LibGDX: 如何获取基于地图的坐标系?
Java LibGDX: How to get a map based coordinate system?
我正在使用 LibGDX 制作 2D 等距平铺游戏。在我的 Player class 中,我创建了一个名为 'pos' 的 vector2 来管理玩家位置,然后我用以下命令绘制我的 Player:
batch.begin();
batch.draw(localPlayer.texture,LocalPlayer.pos.x,LocalPlayer.pos.y);
batch.end();
假设 pos = (0,0),那么 Player 将呈现在我屏幕的左下角。
当我平移相机时,(0,0) 仍然对应于我屏幕的左下角,所以 pos Vector2 是关于我的屏幕,而不是我的地图...
我应该怎么做才能获得基于地图而不是屏幕上的坐标系?我不喜欢使用 Sprite Class...
谢谢:)
Basim Khajwal 是对的,
调用 batch.setProjectionMatrix(camera.combined) 完美运行:)
但是,如果您正在寻找更深入的理解,您也可以在此处阅读这篇文章:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/
其中 "view position" 是您的屏幕位置,"model position" 是您的地图位置。
我正在使用 LibGDX 制作 2D 等距平铺游戏。在我的 Player class 中,我创建了一个名为 'pos' 的 vector2 来管理玩家位置,然后我用以下命令绘制我的 Player:
batch.begin();
batch.draw(localPlayer.texture,LocalPlayer.pos.x,LocalPlayer.pos.y);
batch.end();
假设 pos = (0,0),那么 Player 将呈现在我屏幕的左下角。
当我平移相机时,(0,0) 仍然对应于我屏幕的左下角,所以 pos Vector2 是关于我的屏幕,而不是我的地图...
我应该怎么做才能获得基于地图而不是屏幕上的坐标系?我不喜欢使用 Sprite Class...
谢谢:)
Basim Khajwal 是对的,
调用 batch.setProjectionMatrix(camera.combined) 完美运行:)
但是,如果您正在寻找更深入的理解,您也可以在此处阅读这篇文章:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/
其中 "view position" 是您的屏幕位置,"model position" 是您的地图位置。