gpt4 book ai didi

java - 如何在所有显示器和分辨率下保持 Java 游戏中的所有对象相同?

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:13 24 4
gpt4 key购买 nike

我是 java 初学者,我正在开发我的第一个游戏:)

对于我的 Java 游戏,我是否需要根据显示器设置来定位所有内容并调整其大小?例如

为了定位和调整物体的大小,我使用 Point(x,y)

我应该做“ScaledPoint”吗?其中“ScaledPoint”等于

public Point ScaledPoint(int x,int y)
{
return new Point(x*ScreenWidth/1680,y*ScreenHeight/1050);
}

因为我开发游戏世界时的屏幕宽度和屏幕高度是 1680*1050 像素?

要在不同分辨率下保持所有内容相同?我不知道该怎么办。

最佳答案

这是一个广泛的问题,但一般原则是在某种与设备无关的坐标中定义您的游戏空间,其单位足够小以适应您预期的屏幕尺寸,然后是一些。

然后,根据显示尺寸缩放每个显示器的这些坐标。缩放因子可能是用户可以配置的。

这里的目标是(就像计算机科学和软件开发中的许多情况一样)将内容与其表示分开。您可以在内部使用对您有意义且一致的坐标进行工作,并将屏幕上的布局留给表示层。这为您提供了最大的灵 active ,并且还简化了游戏引擎编程,因为您不必担心该级别的显示分辨率,而只需担心显示级别。

这一原则(关注点分离)就是我们从网络史前时代(1990 年代)的纯 HTML(HTML 决定内容和布局)转变为今天的 HTML+CSS(HTML 指定内容,CSS 可用于针对不同浏览器以不同方式呈现信息)的原因。

关于java - 如何在所有显示器和分辨率下保持 Java 游戏中的所有对象相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545114/

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