我是java的初学者,我正在开发我的第一个游戏:)
对于我的java游戏,我需要根据我的显示器设置来定位和调整所有东西的大小吗?例如
要定位和调整对象大小,我使用Point(x,y)
我应该在"ScaledPoint“等于的情况下使用"ScaledPoint”吗?
public Point ScaledPoint(int x,int y)
{
return new Point(x*ScreenWidth/1680,y*ScreenHeight/1050);
}当我开发游戏世界时,我的ScreenWidth和ScreenHeight是1680*1050像素吗?
在不同的分辨率下保持万物不变?我不知道该怎么办。
发布于 2016-02-22 11:05:52
这是一个宽泛的问题,但一般原则是在某种与设备无关的坐标中定义游戏空间,单位足够小,以适应您预期的屏幕大小,甚至更小。
然后,根据显示大小为每个显示缩放这些坐标。比例因子可能是用户可以配置的东西。
这里的目标是(就像计算机科学和软件开发中的许多情况一样)将内容从其表示中分离出来。您在内部使用对您有意义且一致的坐标,并将屏幕上的布局留给表示层。这为您提供了最大的灵活性,还简化了游戏引擎编程,因为您不必担心该级别的显示分辨率,只需担心显示级别的分辨率。
这个原则(关注点分离)就是为什么我们从网页史前时代(20世纪90年代)的超文本标记语言( HTML )转移到今天的HTML+CSS,在这个时代,超文本标记语言规定了内容,CSS可以用来在不同的浏览器上以不同的方式呈现信息。
https://stackoverflow.com/questions/35545114
复制相似问题