天天看點

《Java 2D遊戲程式設計入門》—— 1.7 全屏顯示模式中的主動渲染

本節書摘來異步社群《java 2d遊戲程式設計入門》一書中的第1章,第1.7節,作者:【美】timothy wright(萊特),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

位于javagames.render包中的fullscreenrenderingexample,包含了主動渲染架構和切換到全拼模式的顯示模式代碼;它建立了一個簡單的全屏遊戲架構。這個示例包含了前面各部分中展示的很多代碼。此外還可以直接給jframe設定背景顔色并且忽略重繪,以及設定setundecorated()标志。由于在前面的示例中應用程式是從視窗模式切換到全屏模式的,是以沒有設定該标志;但是當隻使用全屏模式的時候,應該對jframe進行該項設定。

儲存目前的顯示模式,切換到全屏模式,并且修改顯示模式之後,應使用jframe方法而不是視窗模式示例中的canvas方法來建立緩沖政策。

即便還沒有涉及鍵盤,但你還是需要知道退出程式的一些方法。因為jframe是未裝飾的,是以沒有控件能夠關閉視窗。當使用者按下escape鍵的時候,如下的代碼将會關閉應用程式。

private displaymode getdisplaymode() {

   return new displaymode(

    800, 600, 32, displaymode.refresh_rate_unknown );

}<code>`</code>

由于沒有辦法關閉該視窗,也就不需要有一個視窗監聽器。當按下escape鍵并且示例關閉時,在遊戲循環關閉後,顯示模式傳回為正常模式。