我正在使用LibGDX制作一款2D等距平铺游戏。在我的Player类中,我创建了一个名为"pos"的vector2来管理玩家的位置,然后我用:
来绘制我的Playerbatch.begin();
batch.draw(localPlayer.texture,LocalPlayer.pos.x,LocalPlayer.pos.y);
batch.end();
让我们设pos =(0,0),那么播放器将呈现在屏幕的左下角。
当我平移相机时,(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"为地图位置