程序員大神教你用Java開發超級馬里奧,超簡單炫酷技術!

提及Java,很多人都會問Java開發做過哪些遊戲啊,怎麼都沒聽說過呢,那麼今天小編就為大家分享下,它都開發過哪些經典遊戲吧!Java不僅開發過電腦端的遊戲,手遊也有開發過,經典的遊戲有很多,比如《我的世界》、《吃豆》等等,今天小編想為大家分享一個用Java開發的經典遊戲《超級馬里奧》。

程序員大神教你用Java開發超級馬里奧,超簡單炫酷技術!

《超級馬里奧》任天堂公司開發的著名橫版過關遊戲,是電子遊戲歷史上銷量最大的系列遊戲之一,早在任天堂的紅白機時代就名聲在外了,這個遊戲幾乎移植到了所有的任天堂遊戲機,也包括電腦和手機。

首先小編來介紹一下游戲的基本功能

1、人物向左向右行走(鍵盤監聽)

2、人物跳躍

3、人物發射子彈

4、人物檢測和障礙物之間的碰撞

5、背景圖片的移動

其次看看遊戲的運行界面

程序員大神教你用Java開發超級馬里奧,超簡單炫酷技術!

程序員大神教你用Java開發超級馬里奧,超簡單炫酷技術!

三、遊戲大致實現思路:

1.窗體

2.自己角色的添加

3.背景圖片的添加

4.背景圖片的移動

5.人物的移動和跳躍

6.磚頭、水管等等障礙物的添加

7.任務和障礙物的碰撞

難點分析:

1.人物的多鍵控制

1)給人物設定方向boolean變量:向左、向右、向上、向下

2)通過鍵盤監聽來修改方向的變量值

按下某個鍵的時候,我們把相應方向改為true,釋放的時候改false

2.地圖配置

自定義文件讀取方式實現:文件流的使用和字符串String類的方法調用

3.碰撞檢測

封裝一個Rectangle類的對象

4.子彈添加

1)先定義一個容器,這個用於封裝所有的子彈對象

2)按下某個鍵的時候,創建一個子彈對象(以角色的座標為基準初始化)

3)把子彈對象添加到容器當中

4)在paint方法中,遍歷容器,取出子彈對象並進行繪製

5)檢測子彈如果超出了窗體邊界,則需要把當前子彈從容器當中移除掉

四、程序源代碼:

代碼結構圖:分了三個包、敵人類包、遊戲界面類包、遊戲地圖配置包

程序員大神教你用Java開發超級馬里奧,超簡單炫酷技術!

五、項目總結:

看似是個小項目,其實裡面有很多功能也是需要去認真思考的,開發遊戲首先不要覺得他有多難,我們應該先構建一個思路。

每款遊戲都有它特定的地圖,地圖都很炫酷,首先通過文件輸入流將文件數據讀入,將字符轉換為數字,並存儲在二維數組中,後面,通過遍歷二維數組的不同位置的值,在相應的格子填充相應的障礙物;地圖就這樣配置好了;當遊戲人物在窗體走的時候,覺得一直是人在走,其實,人物走到中間或者走到某一位置的時候,人物已經是在原地踏步了,取而代之的是背後那張長度很長的背景的圖片在移動,任務的左右移動相對而言比較簡答實現,跳躍功能就不是那麼簡單了,需要永達線程,跟後面障礙物碰撞檢測又有關係,當沒有碰到的時候,人物要往下掉,一不注意就會出現各種bug,比如,可以一直跳,在跳的同時還能再跳,還有就是下降可能不會落地面的同一高度,可能會高於地面的高度,可能會低於地面的高度;障礙物的添加,我們是通過配置地圖的方式,配置地圖有時通過讀入文件的操作,大致的原理是將後面的那張的背景圖片劃分成很多的小格子,將這些小格子用代碼轉換為二位數組,二維數組可以存入不同數字,代表不同的障礙物,通過操作文件就可以輕易配置地圖;

相關推薦

推薦中...