[英]Resize window and move contents within
我有一个用java制作的简单游戏。 从本质上讲,我的编程能力是相对基本的,我希望能够调整游戏所在的窗口大小,而不是让图像保持原样,只是在更大的区域显示白度。 这是一个截图。 有没有简单的方法来做到这一点?
现有的两个答案似乎都假定你希望游戏空间能够调整大小。
一个射击游戏的游戏空间并不一定能很好地调整大小。 EG当游戏的宽度是两倍时,左/右箭头按下的速度应该是船的两倍吗? 垂直拉伸窗户会增加重力或拍摄速度吗?
我读这个问题的方式,你只想把游戏空间集中在窗口中。 其中的EG可以在这个答案中看到。
许多游戏都会修复大小以避免第一种方法产生的问题类型,并避免第二种方法的“大空白区域”。 这就像调用setResizable(false)
一样简单。
为了使这项技术发挥最佳作用:
frame.pack()
以确保框架的大小适合显示内容。 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.