调整窗口大小并移动内容

M.P*_*ani 3 java swing resize 2d-games

我有一个用java制作的简单游戏.从本质上讲,我的编程能力是相对基本的,我希望能够调整游戏所在的窗口大小,而不是让图像保持原样,只是在更大的区域显示白度.这是一个截图.有没有简单的方法来做到这一点?

And*_*son 5

现有的两个答案似乎都假定你希望游戏空间能够调整大小.

调整游戏空间大小

一个射击游戏的游戏空间并不一定能很好地调整大小.EG当游戏的宽度是两倍时,左/右箭头按下的速度应该是船的两倍吗?垂直拉伸窗户会增加重力或拍摄速度吗?

填补游戏空间

我阅读问题的方式,你只是希望将游戏空间集中在窗口中.其中的EG可以在这个答案中看到.

修复顶级容器的大小.

许多游戏都会修复大小以避免第一种方法产生的问题类型,并避免第二种方法的"大空白区域".这就像打电话一样简单setResizable(false).

为了使这项技术发挥最佳作用:

  1. 确保执行游戏渲染的组件具有首选大小集.
  2. 将它(以及所有其他控件)添加到框架中.
  3. 调用frame.pack()以确保框架的大小适合显示内容.
  4. (最后)打电话frame.setResizable(false).