Android游戲開發(fā)設(shè)計(jì)步驟
如今搭載Android操作系統(tǒng)的手機(jī)數(shù)量比iPhone多得多。據(jù)悉,Android設(shè)備平均每天激活40萬臺(tái)。但iOS對(duì)開發(fā)商來說依舊是個(gè)更加有利可圖、更受歡迎的平臺(tái)。原因是:Android無需花錢買應(yīng)用;眾多設(shè)備和應(yīng)用商店使得Android市場(chǎng)呈分散狀態(tài)。
游戲的本質(zhì)就是在屏幕上不斷地顯示和更新圖片,只不過不是胡亂地更新,而是根據(jù)程序邏輯來控制。一款完整的游戲需要多方面的知識(shí),比如游戲的創(chuàng)意、背景、 故事情節(jié)、游戲音效,游戲風(fēng)格、游戲類型、運(yùn)行速度、適配機(jī)型等。而且,游戲的開發(fā)需要策劃、美工、程序、測(cè)試的協(xié)同工作和默契配合完成的。
2 游戲框架設(shè)計(jì)首先需要一個(gè)用于顯示游戲界面的視圖類,接著需要構(gòu)建一個(gè)整個(gè)游戲邏輯類來控制當(dāng)前屏幕顯示哪個(gè)界面,甚至對(duì)界面進(jìn)行一些邏輯上的處理。在創(chuàng)建和控制了視圖顯示之后,要讓游戲能夠動(dòng)起來,需要開啟一個(gè)線程來實(shí)時(shí)更新視圖顯示界面并刷新視圖。
3 地圖設(shè)計(jì)通常游戲中的地圖是多個(gè)小塊組成的一個(gè)完整的大地圖,而組成這些小塊的數(shù)據(jù)一般可以使用一個(gè)二維數(shù)組來存儲(chǔ),然后通過程序以最快的方式將這些地圖數(shù)據(jù)對(duì)應(yīng) 的小塊映射到屏幕上組成一幅完整的地圖。當(dāng)然,這些數(shù)據(jù)也不是我們從鍵盤上一個(gè)個(gè)地輸入進(jìn)去的,一般情況下先由程序員做一個(gè)地圖編輯器,在這個(gè)地圖編輯器 中用鼠標(biāo)點(diǎn)擊再保存,或者是從網(wǎng)絡(luò)上下載一些成熟的編輯器,比如用mappy這樣的工具生成地圖,再用腳本語言為mappy寫一個(gè)應(yīng)該保持成什么格式的程 序。通常地圖分為45度角、俯視角和側(cè)視角。
4 主角設(shè)計(jì)游戲中的主角在這里成為“精靈”,當(dāng)然精靈包括的范圍很廣,不僅僅是主角,還有npc、道具等。既然是精靈,必然有很多動(dòng)畫,動(dòng)畫本身就是將圖片一幀一幀 地連接起來,循環(huán)地播放每一幀形成的。同樣可以使用自己編寫的精靈編輯器去編輯精靈,將精靈拆成很多部分,然后再組合起來,這樣可以節(jié)省大量的空間。精靈 類的特性,每次只能使用一個(gè)圖像而不是多個(gè)圖像來填充屏幕,可以有好幾幀,但是一次只有一個(gè)顯示。
5 圖層管理器只需要將所有圖層(包括地圖、主角)一起添加到圖層管理器中,然后設(shè)置視圖查看時(shí)的位置及大小,調(diào)用圖層管理器的paint方法就可以繪制出圖層。繪制的順序是按添加的反順序,既先添加的后繪制,以免圖層被覆蓋之后顯示不出來。
6 游戲音效首先我們將游戲中的音效分為如下幾類:背景音樂、劇情音樂、音效(動(dòng)作的音效、使用道具音效、輔助音效)等。背景音樂一般需要一直播放,而劇情音樂則只需要在劇情需要的時(shí)候播放,音效則是很短小的一段。
7 游戲存檔游戲存檔就是將玩家當(dāng)前游戲的進(jìn)度等信息存儲(chǔ)下來,在玩家再次進(jìn)入游戲時(shí)可以通過讀取上次的存檔來接著上次的進(jìn)度繼續(xù)游戲。
(1).明確需要存儲(chǔ)的數(shù)據(jù)
首先,為了再次游戲能夠順利地轉(zhuǎn)載上次的進(jìn)度,需要保存主角的一些屬性(包括位置,生命,攻擊,防御等),還需要保存當(dāng)前地圖的一些屬性(比如行,列,當(dāng) 前層數(shù)),同樣還需要保存對(duì)話的相關(guān)內(nèi)容,最后需要保存游戲的整個(gè)地圖數(shù)據(jù)(每一層),還有當(dāng)前的音樂狀態(tài)。
(2).保存數(shù)據(jù)
獲取存儲(chǔ)的數(shù)據(jù)->將數(shù)據(jù)打包到properties中->將properties寫入到文件中。
(3).裝載數(shù)據(jù)
打開文件->將文件流裝載進(jìn)properties中->通過properties.get方法得到指定標(biāo)簽的數(shù)據(jù)-》將得到的數(shù)據(jù)賦值給應(yīng)用程序中對(duì)應(yīng)的變量。
在退出游戲時(shí),不管玩家是否保存都將自動(dòng)保存下來。
相關(guān)文章:
1. 前端從瀏覽器的渲染到性能優(yōu)化2. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁3. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)4. 讀大數(shù)據(jù)量的XML文件的讀取問題5. 解析原生JS getComputedStyle6. PHP循環(huán)與分支知識(shí)點(diǎn)梳理7. css代碼優(yōu)化的12個(gè)技巧8. 利用CSS3新特性創(chuàng)建透明邊框三角9. ASP實(shí)現(xiàn)加法驗(yàn)證碼10. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))
