调整窗口内移动内容(Resize window and move contents within)

2019-09-22 05:05发布

我有一个简单的游戏,我在java中提出。 从本质上讲,我的编程能力是比较基本的,我希望能够调整窗口大小的游戏中,并没有图像留他们在哪里,只是显示面积较大的白度。 这里有一个截图。 有没有简单的方法来做到这一点?

Answer 1:

现有的两个答案似乎假定你希望游戏空间来调整。

调整游戏空间

游戏空间是一个shoot'em'up并不一定调整好。 例如,当比赛是两倍宽,应左/右箭头上按下移动船快两倍? 请问拉伸窗口垂直重力加大,或出手的速度是多少?

垫的游戏空间

我看问题的方式,你只是想在窗口中居中的游戏空间。 那环境产品中可以看到这个答案 。

修复顶层容器的大小。

许多游戏解决大小,以避免该类型的由第一方法产生的问题,并避免“大空白带”围绕第2方法。 这是因为调用简单setResizable(false)

对于这种技术最好的工作:

  1. 保证做游戏的渲染成分具有较好大小集。
  2. 它(和所有其他控件)添加到框架。
  3. 呼叫frame.pack()以确保该帧是要显示的内容的正确的大小。
  4. (最后)调用frame.setResizable(false)


Answer 2:

舒展的比赛中,第一次使其在一个Image 。 然后绘制图像,同时瞬间拉伸。

Image dbImage; // The backbuffer
graphics.drawImage(dbImage, 0, 0, getWidth(), getHeight());

和大多数游戏希望禁用窗口以及我的引擎调整。



Answer 3:

根据我明白你的问题,你想“拉伸”你的游戏超越了界限,并将其扩展到窗口的其余部分。 (如果这是错误的,哎呀呀:S)

为了做到这一点,你必须做出一些决定。 您可以在整个游戏扩展到框架,或者只是延长的背景。 但是,这取决于你想要移动在什么方向,你必须做不同的事情。

到底这个决定是完全取决于你。

同时你在使用创建的窗口?



文章来源: Resize window and move contents within