Step by Step,用JAVA做一個FLAPPYBIRD遊戲(完)

BufferedImage

之前第一篇,我們的MyGame裏面有個有意思的成員BufferedImage,有學習了前幾篇代碼的朋友們肯定也發現了,我們每次draw方法傳入的graphic對象都是BufferedImage的Graphics,也就是我們每次都是在BufferedImage上繪製圖像,最後再一次性畫到Swing的窗體上。
BufferedImage這個東西在java裏面是表示一副內存中的圖像,還沒有發送到GPU的顯存,因爲發送給GPU就要繪製到屏幕上了。我們每次對BufferedImage的修改,是在修改內存中的數據,我們是在一副看不見的圖像上修改。
爲什麼要這麼做?如果我們draw每次都傳入窗體的Graphics,那麼,我們每一次調用Graphics的draw方法,都會導致屏幕圖像改變,而Swing的策略是圖像改變了就會自動重繪窗體內容。畫面內容不多的時候倒是還好,內容一多,重繪太頻繁,就會導致畫面閃爍。如果我們把我們的draw都應用在BufferdImage上,那麼我們能保證每一幀屏幕就只刷新一次。

打包

java程序生成的是jar包,就像windows的exe一樣,但是需要java運行環境jre才能運行。不同的IDE打包jar的方法可能不同,我這裏用的是netbeans打包。右擊項目選擇清理並構建如下圖:
這裏寫圖片描述
然後打開項目文件夾,你可以在裏面找到一個dist的文件夾,裏面的FlappyBird.jar就是打包好的文件。但是現在還不能運行,因爲我們用到的圖片和音頻資源沒加進來,我們把Images和Soruce文件夾和jar放在一起,讓我們的程序能找到他們。
然後,我們使用java命令運行他們:java -jar 你的jar路徑。就能順利運行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章