我有一个简单的游戏,我在java中提出。 从本质上讲,我的编程能力是比较基本的,我希望能够调整窗口大小的游戏中,并没有图像留他们在哪里,只是显示面积较大的白度。 这里有一个截图。 有没有简单的方法来做到这一点?
Answer 1:
现有的两个答案似乎假定你希望游戏空间来调整。
调整游戏空间
游戏空间是一个shoot'em'up并不一定调整好。 例如,当比赛是两倍宽,应左/右箭头上按下移动船快两倍? 请问拉伸窗口垂直重力加大,或出手的速度是多少?
垫的游戏空间
我看问题的方式,你只是想在窗口中居中的游戏空间。 那环境产品中可以看到这个答案 。
修复顶层容器的大小。
许多游戏解决大小,以避免该类型的由第一方法产生的问题,并避免“大空白带”围绕第2方法。 这是因为调用简单setResizable(false)
。
对于这种技术最好的工作:
- 保证做游戏的渲染成分具有较好大小集。
- 它(和所有其他控件)添加到框架。
- 呼叫
frame.pack()
以确保该帧是要显示的内容的正确的大小。 - (最后)调用
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