簡體   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