繁体   English   中英

调整窗口大小并移动内容

[英]Resize window and move contents within

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

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

调整游戏空间大小

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

填补游戏空间

我读这个问题的方式,你只想把游戏空间集中在窗口中。 其中的EG可以在这个答案中看到。

修复顶级容器的大小。

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

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

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

要拉伸游戏,首先将其渲染到Image 然后在立即拉伸图像的同时绘制图像。

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

而且大多数游戏都喜欢禁用与我的引擎一起调整大小的窗口。

根据我对您的问题的理解,您希望将游戏“拉伸”超出界限并将其扩展到窗口的其余部分。 (如果那是错的,oops:s)

为了实现这一目标,您必须做出一些决定。 您可以将整个游戏缩放到框架,也可以只扩展背景。 但是,根据你想要进入的方向,你必须做不同的事情。

最终,这个决定完全取决于你。

还有什么用来创建窗口?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM