項目需求:
成都創(chuàng)新互聯(lián)是專業(yè)的富源網(wǎng)站建設公司,富源接單;提供成都網(wǎng)站建設、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行富源網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
完成FlappyBird游戲。
1.?功能說明:
游戲開始后,間歇性的點擊鼠標,讓小鳥向上飛,不會掉下來,并且要穿過柱子的空隙,不能碰到柱子,碰到就dead了,穿過一個柱子的一分
2.?界面需求:
開始界面:
點擊鼠標后開始游戲,游戲時界面:
游戲結束時界面:
?
3.?性能規(guī)定:
游戲要求每點擊一下鼠標,必須實時響應為小鳥向上飛指定的高度,并且小鳥一直有下降的速度,并且柱子也要一直循環(huán)的出現(xiàn),最后使得小鳥能夠靈活連貫的的穿梭于柱子之間。
4.?開發(fā)步驟:
項目包含主程序類Game.java,自定義面板類BirdGame.java,小鳥類:Bird.java,柱子類Column.java,地面類:Ground.java,
(1).創(chuàng)建柱子類Column.java
包含屬性:
圖片BufferedImage,坐標x,y,圖片寬度和高度width,height
柱子個數(shù)count(最多初始化兩根柱子對象)。
構造方法Column():
柱子移動方法move():
(2).創(chuàng)建Ground.java類
構造方法加載圖片,初始化坐標(0,500),創(chuàng)建move方法
(3).創(chuàng)建Bird.java類
構造方法加載圖片,初始化坐標(190,220),創(chuàng)建up和down方法
創(chuàng)建加分addScore(Column c)方法,原理當bird的橫坐標等于柱子的橫坐標加柱子的寬度時即加一分。
創(chuàng)建地面碰撞方法hitGround方法,原理提示,bird縱坐標和ground縱坐標比較。
?
創(chuàng)建柱子碰撞檢測hitColumn方法
(4).創(chuàng)建BirdGame.java面板類,繼承JPanel
state變量表示游戲狀態(tài),0表示開始狀態(tài),1表示游戲中狀態(tài),2表示游戲結束狀態(tài)。
構造方法加載bg.png,start.png,gameover.png,初始化state=0,初始化ground,bird,column1和column2對象。
重寫paint方法public?void paint(Graphics g)
利用g.drawImage方法繪制界面
顯示分數(shù)
定義內(nèi)部類MyMouseAdapter?繼承MouseAdapter
重寫mousePressed方法public?void?mousePressed(MouseEvent e)
根據(jù)當前游戲狀態(tài),更改鼠標點擊后狀態(tài)及對應對象坐標。
創(chuàng)建action方法,添加鼠標監(jiān)聽事件
無限循環(huán)(while(true))根據(jù)不同游戲狀態(tài)調用bird,ground,column對象中的方法(利用switch?case),然后利用線程延遲實現(xiàn)重復繪制
(5).創(chuàng)建Game.java作為運行主類,原理:
Main方法中創(chuàng)建JFrame對象,將BirdGame面板實例化后添加進JFrame對象中,最后調用BirdGame對象的action方法。
本文標題:好程序員Java學習路線分享FlappyBird開發(fā)幫助文檔
分享地址:http://chinadenli.net/article32/jpcepc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、小程序開發(fā)、網(wǎng)頁設計公司、App設計、電子商務
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)