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

标签 java libgdx

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

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

最佳答案

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

假设您的屏幕宽度为 1980x1020px。 现在,在您的游戏中,您将字符大小硬编码为 100px,这看起来不错。但如果在 1280x720px 的屏幕上启动同一个游戏,则 100px 高度的角色会太大。

一种方法是始终使用相对值。例如,每次游戏运行时获取屏幕高度并将角色高度设置为 SCREEN_HEIGHT/10。现在你必须到处遵循这一点,将字符尾部高度设置为 SCREEN_HEIGHT/11.5 等等。一旦你的游戏开始发展,这可能很难处理。

但是,如果您创建一个20x11(虚拟屏幕尺寸)的屏幕摄像头并将字符高度设置为1.2f,那么无论屏幕尺寸是多少,您的角色尺寸总是与高度的比例相关。因为你的工作独立于像素。一切都在上面的文章中顺便解释了。

关于java - libgdx java 中虚拟宽度/高度的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857063/

相关文章:

java - 在 Java 中将 COM 对象与 WIA 和 com4j 一起使用

java - 如何在具有相同 ArrayAdapter 的同一 Activity 中将 GridView 与 ListView 交换?

java - 您能否暂停 Java 应用程序并从该应用程序中获取其线程的快照?

java - 未找到目标的 TweenAccessor

multithreading - 这种情况在 libgdx 中线程安全吗?

java - 有时,类在加载时编织期间不会被编织

java - 无法解析原始文件夹 - android

android - 如何使用 libgdx 在 Box2D 的碰撞事件中设置 false/NoCollision?

java - Libgdx动画翻转时闪烁

java - Libgdx:阶段与批处理混淆