[英]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.