Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解不同的坐标系、平铺、舞台、屏幕、,_Java_Libgdx_Coordinates - Fatal编程技术网

Java 了解不同的坐标系、平铺、舞台、屏幕、,

Java 了解不同的坐标系、平铺、舞台、屏幕、,,java,libgdx,coordinates,Java,Libgdx,Coordinates,我对所有不同的坐标系感到非常困惑。 我正在使用带有平铺的LibGDX。 它们都有自己的坐标系(sortof) LibGDX屏幕 平铺地图 UIcamera 正交平铺摄影机 尤斯塔吉 瓦楞纸板 有太多的概念,我无法理解它们在复杂场景中是如何相互影响的,比如 与平铺地图尺寸不同的屏幕尺寸 调整屏幕大小时 有人能解释一下吗 非常感谢 在2D游戏中,您实际上只需要考虑正交摄影机的坐标系。使用特定相机的组合矩阵绘制的任何内容都适合屏幕的矩形(如果您正确设置相机,它将不会失真) LibGDX提供了用

我对所有不同的坐标系感到非常困惑。 我正在使用带有平铺的LibGDX。 它们都有自己的坐标系(sortof)

  • LibGDX屏幕
  • 平铺地图
  • UIcamera
  • 正交平铺摄影机
  • 尤斯塔吉
  • 瓦楞纸板
有太多的概念,我无法理解它们在复杂场景中是如何相互影响的,比如

  • 与平铺地图尺寸不同的屏幕尺寸
  • 调整屏幕大小时
有人能解释一下吗


非常感谢

在2D游戏中,您实际上只需要考虑正交摄影机的坐标系。使用特定相机的
组合
矩阵绘制的任何内容都适合屏幕的矩形(如果您正确设置相机,它将不会失真)

LibGDX提供了用于帮助设置相机的视口类。您可以将其视为相机管理器,根据您想要的安排调整相机的大小。你可以用你想要看到的游戏世界的“窗口”来实例化它们。唯一需要考虑实际屏幕尺寸的地方是在<代码> Resiths方法中,在这里你将维度传递给视口类,并让它处理你的相机大小,这样场景不会失真。 您可能有多个摄像头。通常你的UI会有自己的,游戏世界也会有另一个(因为你想让它在世界上移动)

在输入时,原始X和Y以屏幕像素坐标给出,但您只需将这些坐标传递给
摄像机。取消投影
方法,将它们转换为与游戏世界相同的坐标

我不使用瓷砖,所以我无法具体说明,但同样的原则也应该适用