好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔-創(chuàng)新互聯(lián)

項(xiàng)目需求:

創(chuàng)新互聯(lián)憑借專(zhuān)業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專(zhuān)業(yè)的網(wǎng)站策劃、成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開(kāi)發(fā)、網(wǎng)站改版等服務(wù),在成都十年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都數(shù)千家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。

完成FlappyBird游戲。

1.?功能說(shuō)明:

游戲開(kāi)始后,間歇性的點(diǎn)擊鼠標(biāo),讓小鳥(niǎo)向上飛,不會(huì)掉下來(lái),并且要穿過(guò)柱子的空隙,不能碰到柱子,碰到就dead了,穿過(guò)一個(gè)柱子的一分

2.?界面需求:

開(kāi)始界面:

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

點(diǎn)擊鼠標(biāo)后開(kāi)始游戲,游戲時(shí)界面:

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

游戲結(jié)束時(shí)界面:

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

3.?性能規(guī)定:

游戲要求每點(diǎn)擊一下鼠標(biāo),必須實(shí)時(shí)響應(yīng)為小鳥(niǎo)向上飛指定的高度,并且小鳥(niǎo)一直有下降的速度,并且柱子也要一直循環(huán)的出現(xiàn),最后使得小鳥(niǎo)能夠靈活連貫的的穿梭于柱子之間。

4.?開(kāi)發(fā)步驟:

項(xiàng)目包含主程序類(lèi)Game.java,自定義面板類(lèi)BirdGame.java,小鳥(niǎo)類(lèi):Bird.java,柱子類(lèi)Column.java,地面類(lèi):Ground.java,

(1).創(chuàng)建柱子類(lèi)Column.java

包含屬性:

圖片BufferedImage,坐標(biāo)x,y,圖片寬度和高度width,height

柱子個(gè)數(shù)count(最多初始化兩根柱子對(duì)象)。

構(gòu)造方法Column():

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

柱子移動(dòng)方法move():

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

(2).創(chuàng)建Ground.java類(lèi)

構(gòu)造方法加載圖片,初始化坐標(biāo)(0,500),創(chuàng)建move方法

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

(3).創(chuàng)建Bird.java類(lèi)

構(gòu)造方法加載圖片,初始化坐標(biāo)(190,220),創(chuàng)建up和down方法

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

創(chuàng)建加分addScore(Column c)方法,原理當(dāng)bird的橫坐標(biāo)等于柱子的橫坐標(biāo)加柱子的寬度時(shí)即加一分。

創(chuàng)建地面碰撞方法hitGround方法,原理提示,bird縱坐標(biāo)和ground縱坐標(biāo)比較。

創(chuàng)建柱子碰撞檢測(cè)hitColumn方法

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

(4).創(chuàng)建BirdGame.java面板類(lèi),繼承JPanel

state變量表示游戲狀態(tài),0表示開(kāi)始狀態(tài),1表示游戲中狀態(tài),2表示游戲結(jié)束狀態(tài)。

構(gòu)造方法加載bg.png,start.png,gameover.png,初始化state=0,初始化ground,bird,column1和column2對(duì)象。

重寫(xiě)paint方法public?void paint(Graphics g)

利用g.drawImage方法繪制界面

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔顯示分?jǐn)?shù)

定義內(nèi)部類(lèi)MyMouseAdapter?繼承MouseAdapter

重寫(xiě)mousePressed方法public?void?mousePressed(MouseEvent e)

根據(jù)當(dāng)前游戲狀態(tài),更改鼠標(biāo)點(diǎn)擊后狀態(tài)及對(duì)應(yīng)對(duì)象坐標(biāo)。

創(chuàng)建action方法,添加鼠標(biāo)監(jiān)聽(tīng)事件

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

無(wú)限循環(huán)(while(true))根據(jù)不同游戲狀態(tài)調(diào)用bird,ground,column對(duì)象中的方法(利用switch?case),然后利用線(xiàn)程延遲實(shí)現(xiàn)重復(fù)繪制

好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔

(5).創(chuàng)建Game.java作為運(yùn)行主類(lèi),原理:

Main方法中創(chuàng)建JFrame對(duì)象,將BirdGame面板實(shí)例化后添加進(jìn)JFrame對(duì)象中,最后調(diào)用BirdGame對(duì)象的action方法。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱(chēng):好程序員Java學(xué)習(xí)路線(xiàn)分享FlappyBird開(kāi)發(fā)幫助文檔-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.bm7419.com/article42/dpcgec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站外貿(mào)建站微信公眾號(hào)、域名注冊(cè)標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)