《第一行Android代碼》課件:第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練_第1頁(yè)
《第一行Android代碼》課件:第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練_第2頁(yè)
《第一行Android代碼》課件:第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練_第3頁(yè)
《第一行Android代碼》課件:第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練_第4頁(yè)
《第一行Android代碼》課件:第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第5章 游戲開(kāi)發(fā)實(shí)戰(zhàn)演練 數(shù)字媒體技術(shù)系 內(nèi)容 o 項(xiàng)目準(zhǔn)備工作 o 劃分游戲狀態(tài) o 游戲初始化 o 游戲界面 o 游戲勝利與結(jié)束界面 o 游戲細(xì)節(jié)處理 5.1 項(xiàng)目前的準(zhǔn)備工作 o 圖片資源 5.2 劃分游戲狀態(tài) 游戲狀態(tài) 游戲菜單(開(kāi)始菜單) 游戲中 游戲勝利游戲失敗 游戲暫停 游戲主要的類結(jié)構(gòu) o Player、Enemy和Boss都發(fā)射各自類型的子彈 o PlayerBullet擊中Enemy產(chǎn)生普通Boom o PlayerBullet擊中Boss產(chǎn)生Boss Boom 游戲主體代碼框架 o myDraw、logic、OnTouchEvent、 5.3游戲初始化-菜單界面GameM

2、enu o 實(shí)現(xiàn)開(kāi)始界面 o 開(kāi)始游戲的按鈕 o 開(kāi)始游戲按鈕事件監(jiān)聽(tīng) 開(kāi)始菜單GameMenu 觸屏事件處理 MySurface處理 o myDraw o OnTouchEvent 5.4 游戲界面GAMING狀態(tài) o myDraw繪制游戲畫(huà)面 o 繪制背景GameBg o 繪制Player o 有條件繪制敵人們Enemy o 有條件繪制Boss o Player子彈繪制 o 有條件Enemy子彈繪制 o 有條件Boss子彈繪制 o Boom爆炸效果繪制 繪制代碼 OnTouchEvent o 書(shū)上是onKeyDown,需要更改為onTouchEvent o 需要增加游戲的GUI來(lái)操控游戲

3、o 在MySurfaceView中增加繪制GUI部分,如果這里只有對(duì) Player的操作,可以在Player中增加GUI。 o 也可MySurfaceVIew中繪制GUI響應(yīng)onTouchEvent 游戲背景 GameBg o 游戲背景使用兩張圖片的滾動(dòng)實(shí)現(xiàn),錯(cuò)拼方式 背景的logic o 滾動(dòng)圖片 游戲主角Player的實(shí)現(xiàn) o draw: n 繪制Player對(duì)象 n 繪制Player的血量HP圖 o onTouchEvent: n 對(duì)Player的其他觸屏操作, 如旋轉(zhuǎn),平移,傾斜等。這 里未實(shí)現(xiàn) o 血量HP的set和get方法 o Player的游戲邏輯logic: n 移動(dòng) n 碰

4、撞 o 與敵機(jī)碰撞 o 與敵人子彈碰撞 n 其他 Player的繪制代碼 o 繪制Player o 繪制血量 o draw方法 Player logic MySurfaceView的player draw logic處理 PlayerGUI o draw o 主要處理GUI圖標(biāo)的繪制,含發(fā)射功能的圖標(biāo) o logic o 這里沒(méi)有l(wèi)ogic操作 o onTouchEvent o 處理觸屏事件, o 返回結(jié)果可以用isLeft等判斷 o 也可以使用operationResult判定 PlayerGUI o 這里定義了GUI的圖片和位置 o 定義了操作結(jié)果operationResult o 0 x

5、1,0 x10,0 x100,0 x1000,0 x10000 o 代表左右上下,shoot,注意這里是十六進(jìn)制 o 也可以使用isLeft等傳統(tǒng)方式 PlayerGUI o 構(gòu)造函數(shù)進(jìn)行初始化 PlayerGUI o draw方法 PlayerGUI MySurfaceView中操作 o initGame o myDraw o onTouchEvent Player的logic處理 5.4.3 怪物敵機(jī)的實(shí)現(xiàn)Enemy o draw o 繪制敵人,蒼蠅,鴨子,豬 o logic o 處理敵人的移動(dòng) o 動(dòng)畫(huà)幀控制 o 發(fā)射子彈,碰撞 構(gòu)造函數(shù)初始化 Enemy Logic邏輯處理 MySur

6、faceView處理 o 由于存在多個(gè)Enemy,故定義一個(gè)向量來(lái)存放 n Vector vcEnemy; o vcEnemy.addElement() o vcEnemy.removeElementAt(i) o Enemy的數(shù)量和類型存在二維數(shù)組中 n enemyArray (敵人類型,數(shù)量) o draw, logic處理 o vcEnemy(i).draw vcEnemy(i).logic SurfaceView變量定義 MySurface處理 o initGame o myDraw o logic MySurface處理logic Player與Enemy的碰撞 MySurfaceV

7、iew 的logic處理敵我碰撞 Player碰撞持續(xù)的處理-無(wú)敵 Player的logic處理 Player的draw方法,實(shí)現(xiàn)碰撞閃爍 Bullet類 o Player發(fā)射子彈 o Enemy發(fā)射子彈,注意區(qū)分不同類型的Enemy o 構(gòu)造函數(shù)初始化 o draw繪制 o logic子彈的移動(dòng) o 其他 Bullet MySurfaceView處理Bullet相關(guān)的draw,logic o initGame p myDraw MySurfaceView的logic處理增加子彈 o 增加主角與敵人的子彈 敵人子彈的邏輯 o 如果子彈越界就dead,銷(xiāo)毀,否則執(zhí)行每個(gè)子彈的logic Play

8、er Bullet邏輯處理 o 增加player的子彈,使用定時(shí)2s或者是按鍵發(fā)射 o 如果越界死亡,則回收,否則,執(zhí)行每個(gè)子彈邏輯 子彈碰撞處理 o 主角與敵人子彈的碰撞 n Player中增加碰撞判斷方法 o 敵人與主角子彈的碰撞 n Enemy中增加碰撞判斷方法 爆炸類Boom 怪物Boss 5.5游戲勝利與結(jié)束界面 p myDraw方法中繪制界面圖片即可 5.6 游戲細(xì)節(jié)處理 o 按鍵返回處理 總結(jié) o 游戲的框架 o 游戲中的代碼處理 n draw, logic, onTouchEvent處理 o 本案例的優(yōu)缺點(diǎn): o 優(yōu)點(diǎn)是代碼緊湊,簡(jiǎn)單,容易邊學(xué)邊做 o 缺點(diǎn)是代碼的結(jié)構(gòu)不是很清晰,可優(yōu)化代碼結(jié)構(gòu),比如: o 代碼使用MVC的框架等 o 設(shè)置輔助類Helper,設(shè)定屏幕的大小,載

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論