gpt4 book ai didi

java - 为什么示例作者对正交相机的宽度和高度进行硬编码?(LibGdx Zombie Bird 教程)

转载 作者:行者123 更新时间:2023-12-01 12:08:04 26 4
gpt4 key购买 nike

我正在尝试按照此处的指南学习 LibGdx。

http://www.kilobolt.com/day-4-gameworld-and-gamerenderer-and-the-orthographic-camera.html

这是作者设置正交相机宽度和高度的代码(相机用于将 3d 内容均匀地投影到 2d 中?

    private OrthographicCamera cam;
and later in a constructor
cam = new OrthographicCamera();
cam.setToOrtho(true, 136, 204);

他选择硬编码宽度和高度而不是通过 Gdx.graphics.getWidth/getHeight 检索游戏正在运行的屏幕的高度和宽度是否有原因?(-来自 Changing the Coordinate System in LibGDX (Java) )

最佳答案

您不了解相机的工作原理。对于相机来说,屏幕是 320x480 还是 1080*1920 并不重要。相机使用自己的坐标系。例如我们有1920*1080的屏幕。我们不想使用像素,因为这是不好的做法。我们真正想要的是拥有自己的世界坐标系。如果你有 16*9 m 的世界,那么你可以计算出 1 m = 120 像素。但你的 friend 可以拥有 800*450 的屏幕,对他来说 1 m = 50 像素。这就是为什么我们对相机的宽度和高度进行硬编码。但这里还有一个问题,就是比例。我们认为我们的比率是 16/9,但有些设备可以有 4/3 的比率。支持很多比率是非常复杂的主题,所以我不想在这里提及。

我的游戏不同比例的截图

如果您愿意,我可以与您分享我的代码。但请注意,它并不完美,也不是完整的游戏。正如您从屏幕截图中看到的,我没有硬编码高度,只有宽度。所以我上下都有空的空间。

关于java - 为什么示例作者对正交相机的宽度和高度进行硬编码?(LibGdx Zombie Bird 教程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27448512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com