第14章--Android游戲制作_第1頁(yè)
第14章--Android游戲制作_第2頁(yè)
第14章--Android游戲制作_第3頁(yè)
第14章--Android游戲制作_第4頁(yè)
第14章--Android游戲制作_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、Android基礎(chǔ)與應(yīng)用開發(fā)教程大連理工大學(xué)出版社Android游戲制作第14章14.1 Android游戲的基礎(chǔ)技術(shù) Android繪圖操作可通過(guò)擴(kuò)展View類實(shí)現(xiàn),具體繪制過(guò)程在。nDraw ()方法中實(shí)現(xiàn)。下面通過(guò)一個(gè)繪圖例子來(lái)具體地說(shuō)明簡(jiǎn)單圖形繪制的機(jī)制,步驟如下:(1)創(chuàng)建一個(gè)工程MyView:(2)修改res/layout/activity_main. xml的代碼:(3)在模擬器中運(yùn)行項(xiàng)目,結(jié)果如圖14-1所示:14.1.1 Android的簡(jiǎn)單圖形繪制14.1 Android游戲的基礎(chǔ)技術(shù)(1)創(chuàng)建一個(gè)工程MyBitmap(2)修改/res/layout/activity_ma

2、in. xml代碼如下:14.1.2 Android的貼圖技術(shù)14.1 Android游戲的基礎(chǔ)技術(shù)(3)在模擬器中運(yùn)行項(xiàng)目,結(jié)果如圖14-2所示:14.1.2 Android的貼圖技術(shù)14.2 貪吃蛇游戲的解析使用Eclipse菜單的【File】| 【 New】 | 【 Project 】,單擊項(xiàng)目“Android”,選擇“Android Sample Project,單擊【Next】按鈕,勾選所用SDK版本,單擊【 Next】按鈕,選擇“Snake創(chuàng)建貪吃蛇游戲應(yīng)用工程,如圖14-3所示。14.2.1 在Eclipse中導(dǎo)入游戲14.2 貪吃蛇游戲的解析貪吃蛇是一個(gè)休閑的單機(jī)小游戲,玩法簡(jiǎn)

3、單、耗時(shí)少、游戲的界面簡(jiǎn)潔、邏輯實(shí)現(xiàn)也不很復(fù)雜,適合Android初學(xué)者作為游戲人門的練習(xí)學(xué)習(xí)。14.2.2 游戲界面布局這個(gè)游戲玩法是,玩家用上下左右四個(gè)方向鍵操控一條貪吃蛇,讓它不停地在屏幕上游走,不斷吞吃各方向上出現(xiàn)的蘋果,蛇的長(zhǎng)度也會(huì)隨之增加,速度隨之加快。一旦蛇頭碰到屏幕四周或自己的身子,它就立即斃命,游戲即告結(jié)束并計(jì)算分?jǐn)?shù)。圖14-5是貪吃蛇游戲的運(yùn)行和結(jié)束界面。14.2 貪吃蛇游戲的解析Snake工程把主界面剖成UI和游戲邏輯兩層,最基礎(chǔ)的UI部分用基類TileView來(lái)表示,TileView的子類SnakeView繼承了基類的UI,并添加了游戲控制邏輯,從而實(shí)現(xiàn)了兩者的分離,這

4、對(duì)于游戲的修改和擴(kuò)展非常便利。TileView是一個(gè)方塊(格)圖形,顯示它的基類是視圖(View)。視圖類是java. fang. Object直接擴(kuò)展,是各種控件比如TextView, EditView的基類。TileView的UI部分把整個(gè)屏幕看做一個(gè)二維數(shù)組,每個(gè)元素可以視為一個(gè)方塊(格),每個(gè)方塊(格)在游戲過(guò)程中可處于不同狀態(tài),比如空閑、墻、蘋果、貪食蛇(蛇身或蛇頭)。游戲的操作過(guò)程,其實(shí)就是不斷修改各方格的狀態(tài),然后再讓整個(gè)View去重繪制自身。當(dāng)然,同時(shí)還需要加人一些判定游戲當(dāng)前狀態(tài)(失敗或成功)的機(jī)制。14.2.3 游戲界面實(shí)現(xiàn)部分14.2 貪吃蛇游戲的解析(1)初始化映射圖坐

5、標(biāo)(2)加載不同類型的圖畫來(lái)繪制墻、蛇和蘋果。(3)調(diào)用為映射圖數(shù)組的賦值方法(4)初始化邊界墻和蘋果。計(jì)算出邊界,對(duì)map進(jìn)行賦值。(5)繪制墻(邊界)傳給TitleView類的onDraw)方法。(6)產(chǎn)生隨機(jī)蘋果,需要進(jìn)行沖突檢查(7)蛇吃了蘋果,長(zhǎng)度增加且速度變快(8)蛇碰到了墻和自身,游戲結(jié)束(9)狀態(tài)模式和方向(10)按鍵處理(11)游戲數(shù)據(jù)的保存機(jī)制14.2.4 游戲邏輯部分14.2 貪吃蛇游戲的解析任何游戲都需要引擎來(lái)推動(dòng)。最簡(jiǎn)單的游戲引擎是一個(gè)線程中的While循環(huán),它用來(lái)檢測(cè)用戶操作,對(duì)用戶操作作出反應(yīng),更新游戲界面,直到用戶退出游戲。在Android的游戲中,需要按照指定

6、周期來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式。完成這種功能的辦法有兩種:一個(gè)是在線程中調(diào)用的Handler類,另一個(gè)是使用Timer類。在Snake中采用了前者。14.2.5 游戲引擎14.2 貪吃蛇游戲的解析Android SDK Sample中的Snake工程不能讓玩家在虛擬設(shè)備上用鼠標(biāo)單擊游戲畫面進(jìn)行控制,只能單擊按鍵來(lái)玩游戲;在手機(jī)上若不能使用觸摸屏就十分不便,為此我們?cè)黾佑|摸控制功能。實(shí)現(xiàn)鼠標(biāo)單擊和觸摸屏功能并不復(fù)雜,只需要在TileView. Java文件中加人屏幕寬度和高度信息的聲明,同時(shí)在onSizeChanged( )方法中獲取屏幕寬度和高度值即可。在SnakeView. java中,重載視圖

7、中響應(yīng)觸摸事件的方法onTouchEvent(),就可以實(shí)現(xiàn)鼠標(biāo)單擊和觸摸屏功能。14.2.6 增加游戲的觸摸控制14.2 貪吃蛇游戲的解析最后,讓我們給比較單調(diào)的游戲添加一個(gè)金蛇狂舞的背景音樂(lè),讓游戲玩得更輕松一些。為此,首先在res目錄下新建一個(gè)raw文件夾,把goldensnake, mp3文件放人其中。其次,再添加一個(gè)Music類的內(nèi)容。14.2.7 增加游戲的背景音樂(lè)14.3 本章小結(jié)通過(guò)貪吃蛇的例子可以了解Android圖形繪制、貼圖方法和游戲開發(fā)的基本邏輯和設(shè)計(jì)流程。此外還將游戲加以擴(kuò)充,增加了觸摸屏功能和背景音樂(lè)效果,使其更具實(shí)用性。選擇貪吃蛇為例作為切人點(diǎn),有如下幾個(gè)原因:(1)貪吃蛇是手機(jī)上的一個(gè)有趣

溫馨提示

  • 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)論