我创建了一个 800*600 的游戏。我怎样才能使它适合所有电脑屏幕?这通常会怎么做?其他网站也说过根据屏幕分辨率将所有内容设置为一定的比例。但是,如果游戏中的每个图像的大小与屏幕分辨率相比都发生了变化,则意味着图像不会出现在正确的位置并导致其他问题。是否可以“拉伸”我的 800*600 游戏,使其适合任何尺寸?谢谢
问问题
1665 次
2 回答
1
您需要使游戏分辨率独立。这意味着您创建自己的“游戏单元”概念(如果您愿意,它可能与相对于 800x600 屏幕的像素完全相同),然后专门在这些游戏单元上运行。
每当您在屏幕上绘制某些东西时,您都会将坐标和大小从游戏单位转换为像素。您将需要具有可以双向转换的功能,因为您可能还希望将点击事件从屏幕空间转换到游戏空间。
开始游戏时,您需要决定屏幕分辨率和纵横比。如果纵横比不同(例如宽屏),您可以选择拉伸游戏区域或将其信箱化。通过将所有翻译代码移至较低级别并仅在您的游戏单元内运行,从长远来看,您可以为自己省去很多痛苦。
于 2013-03-06T22:22:03.163 回答
0
是的,你可以把它拉长。在 800 x 600 的 JPanel 上制作游戏的主要组件,然后将该 JPanel 添加到您的 JFrame。然后玩家可以调整 JFrame 的大小,组件不会离开屏幕,它们会根据 JFrame 的新大小改变形状和大小。请记住,鼠标相对于 JFrame 的位置会发生一些变化,但是将鼠标位置除以 JFrame 的高度/宽度,然后乘以 JPanel 的高度/宽度,以获得相对于 JPanel 的位置。使用这种方法,您可以让用户最大化您的游戏,并且仍然让组件看起来正常。
于 2013-03-06T22:21:35.480 回答