如何使我的800 * 600游戏适合所有屏幕分辨率?

时间:2013-03-06 22:15:01

标签: java

我创造了一个800 * 600的游戏。我怎样才能使它适合所有电脑屏幕?通常如何做?根据屏幕分辨率的不同,其他网站也表示将所有内容设置为一定比例。但是,如果游戏中的每个图像与屏幕分辨率相比都会改变大小,则意味着图像不会出现在正确的位置并导致其他问题。是否有可能只是“拉伸”我的800 * 600游戏,以适应任何规模?感谢

2 个答案:

答案 0 :(得分:1)

您需要使游戏与分辨率无关。这意味着您可以创建自己的“游戏单元”概念(如果需要,可能与相对于800x600屏幕的像素完全相同),然后专门针对这些游戏单元进行操作。

每当你绘制一些东西到屏幕时,你将坐标和大小从游戏单位转换为像素。您需要具有可以双向转换的功能,因为您可能还希望将点击事件从屏幕空间转换为游戏空间。

当您开始游戏时,您需要决定屏幕分辨率和宽高比。如果纵横比不相同(例如宽屏),您可以选择拉伸游戏区域或信箱。通过将所有翻译代码移动到较低级别并仅在您的游戏单元中运行,从长远来看,您可以省去很多痛苦。

答案 1 :(得分:0)

是的,你可以伸展它。制作游戏' JPanel上800到600的主要组件,并将JPanel添加到您的JFrame中。然后玩家可以调整JFrame的大小,组件不会离屏,他们会根据JFrame的新大小更改形状和大小。请记住,鼠标相对于JFrame的位置会稍微改变一下,但是将鼠标位置除以JFrames的高度/宽度,然后乘以JPanel的高度/宽度,以获得相对于JPanel的位置。使用此方法,您可以让用户最大化您的游戏,并使组件看起来仍然正常。