protected GameCanvas(boolean suppressKeyEvents),
這將使爲GameCanvas準備的一個新的緩衝區也被創建並在初始化時被填充爲白色。
爲了在GameCanvas上繪圖,首先要獲得Graphics對象來渲染GameCanvas:
protected Graphics getGraphics()
返回的Graphics對象將用於渲染屬於這個GameCanvas的後備屏幕緩衝區(off-screen buffer)。 但是渲染結果不會立刻顯示出來,直到調用flushGraphics()方法;輸出緩衝區的內容也不會改變緩衝區的內容,即輸出操作不會清除緩衝區的像素。
每次調用這個方法時,都會創建一個新的Graphics對象;對於每個GameCanvas實例,獲得的多個Graphics對象都將渲染同一個後備屏幕緩衝區。因此,有必要在遊戲啓動前獲得並存儲Graphics對象,以便遊戲運行時能反覆使用。
剛創建的Graphics對象有以下屬性:
l 渲染目標是這個GameCanvas的緩衝區;
2 渲染區域覆蓋整個緩衝區;
3 當前顏色是黑色(black);
4 字體和調用Font.getDefaultFont()返回的相同;
5 繪圖模式爲SOLID;
6 座標系統的原點定位在緩衝區的左上角。
在完成了繪圖操作後,可以使用flushGraphics()方法將後備屏幕緩衝區的內容輸出到顯示屏上。輸出區域的大小與GameCanvas的大小相同。輸出操作不會改變後備屏幕緩衝區的內容。這個方法會直到輸出操作完成後才返回,因此,當這個方法返回時,應用程序可以立刻對緩衝區進行下一幀的渲染。
如果GameCanvas當前沒有被顯示,或者系統忙而不能執行輸出請求,這個方法不做任何事就立刻返回。