libgdx java中虚拟宽度/高度的用途

时间:2015-11-22 16:19:14

标签: java libgdx

我观看了一个我认为非常适合游戏开发的人的视频,ForeignGuyMike,在他的教程中,他使用虚拟宽度和高度并将其缩放2.这是代码的屏幕截图。 Example Image

我正在开始一个全新的游戏,并想知道这是否有某种目的。我想知道这个的优点和缺点,因为我似乎无法找到他解释为什么以及在互联网上有人这样做的地方。然后,他将虚拟宽度和高度乘以窗口大小的比例。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

首先浏览this article by Xoppa,它应该清除您的基础知识。但只是通过一个例子来理解。

假设你有一个宽度高度= 1980x1020px.的屏幕现在在你的游戏中,你将你的角色大小硬编码为100px,看起来很好。但如果同一游戏在1280x720px的屏幕上开始,100px高度的角色将会过大。

一种方法是始终使用相对值。例如,每次游戏运行时取屏幕高度,并将角色高度设置为SCREEN_HEIGHT/10。现在你必须在任何地方都这样做,设置字符尾部高度为SCREEN_HEIGHT/11.5,依此类推。一旦你的游戏开始增长,这可能很难处理。

但是如果您创建一个说20x11(虚拟屏幕大小)的屏幕相机并将字符高度设置为1.2f,那么无论屏幕大小如何,您的字符大小将始终相对于高度比。因为您独立于像素工作。顺便说一下,上面的文章解释了一切。