Android游戲開(kāi)發(fā)實(shí)踐指南

出版時(shí)間:2012-9  出版社:機(jī)械工業(yè)出版社  作者:羅格斯  頁(yè)數(shù):412  譯者:愛(ài)飛翔  
Tag標(biāo)簽:無(wú)  

前言

前言本書要點(diǎn)這是一本講解如何編寫Android手機(jī)游戲的書。只要讀者略有開(kāi)發(fā)Android應(yīng)用的經(jīng)驗(yàn),就可以通過(guò)閱讀本書,將這種經(jīng)驗(yàn)同AndEngine開(kāi)源游戲引擎結(jié)合起來(lái),制作出2D手機(jī)游戲。無(wú)論要寫什么類型的游戲,本書都會(huì)提供范例,并逐步講解它們。本書旨在讓你熟悉AndEngine并且盡快發(fā)布游戲,其中許多例子都是為了支持一個(gè)范例游戲:《少女大戰(zhàn)吸血鬼》(VirginsVersusVampires,V3)的開(kāi)發(fā)。本書開(kāi)篇的第1章會(huì)介紹手機(jī)游戲的概況、流行程度、游戲的類型以及游戲策劃的范例。接下來(lái)的數(shù)章,每章將會(huì)針對(duì)一個(gè)游戲開(kāi)發(fā)相關(guān)的話題展開(kāi)論述。第2章講述了用來(lái)開(kāi)發(fā)游戲的工具,包括進(jìn)行代碼開(kāi)發(fā)、美工和聲音制作所用的工具。第3章介紹了游戲邏輯循環(huán)的概念,并且演示了如何用AndEngine開(kāi)始開(kāi)發(fā)游戲。第4章深入探討圖形繪制,詳解了AndEngine所提供的場(chǎng)景切換與實(shí)體修改器機(jī)制,運(yùn)用它們可使游戲的顯示效果豐富多彩。第5章再進(jìn)一步深入游戲中的位圖和矢量圖形的繪制,演示了如何繪制精靈。第6章介紹了構(gòu)建動(dòng)畫精靈的簡(jiǎn)單方法,以及如何讓物體動(dòng)起來(lái)。第7章給出使用AndEngine以各種方式在游戲中顯示文本的范例。第8章研究了Android游戲可用的用戶輸入選項(xiàng),包括觸摸、多點(diǎn)觸摸、鍵盤、語(yǔ)音識(shí)別、加速度計(jì)、定位器與方向檢測(cè)器。第9章講述了AndEngine如何載入和使用瓦片地圖,以及如何用瓦片集去構(gòu)造無(wú)限廣闊的虛擬世界。第10章演示了內(nèi)建于AndEngine的粒子系統(tǒng),并展示了如何用XML文件定義與保存粒子效果。第11章展示了如何用AndEngine來(lái)查找、獲取、修改、使用背景音樂(lè)與音效。第12章研究了物理引擎Box2D。它與AndEngine一起,使開(kāi)發(fā)基于物理交互對(duì)象的游戲更加容易。第13章研究了可以讓游戲更加智能、更加好玩的人工智能技術(shù)。第14章搭建了一個(gè)基于游戲元素間碰撞的計(jì)分框架。第15章探究了AndEngine可以利用擴(kuò)展而完成的功能,例如創(chuàng)建Android活動(dòng)桌布,播放MOD音樂(lè)文件,創(chuàng)建“增強(qiáng)現(xiàn)實(shí)游戲”,以及在多人游戲的玩家中進(jìn)行通信。第16章通過(guò)完善現(xiàn)有功能或增加新功能使游戲更具可玩性,并至此結(jié)束本書的范例游戲開(kāi)發(fā)。第17章講述了為確保游戲順利發(fā)行而需要做的事情,然后告訴讀者如何發(fā)行與推銷游戲。附錄提供了每章末尾習(xí)題的答案。本書最好按順序閱讀,但如果讀者覺(jué)得跳讀更合適的話,那樣也可以。每一個(gè)主題基本上都作為獨(dú)立的概念來(lái)講述,但是如果需要引用其他章的概念來(lái)講述它,那么那些概念也會(huì)被提到。對(duì)于讀者來(lái)說(shuō),本書的目的很簡(jiǎn)單:玩得開(kāi)心。本書的寫作精神是,游戲應(yīng)該是有趣的,而且開(kāi)發(fā)游戲本身也應(yīng)該有趣。愿你的游戲能夠在AndroidMarket的“熱門下載”列表中登上榜首。本書的目標(biāo)讀者如果讀者迫不及待地想要為Android設(shè)備開(kāi)發(fā)2D游戲,并且至少具備一些用AndroidSDK和Java進(jìn)行Android應(yīng)用開(kāi)發(fā)的經(jīng)歷,那么本書就很適合你了。本書介紹了手機(jī)游戲的基本主題,并演示了如何用AndEngine游戲引擎去實(shí)現(xiàn)它們。要學(xué)習(xí)這些范例的話,不一定必須是個(gè)Android開(kāi)發(fā)高手,但需要熟悉Android的基本概念[例如活動(dòng)(Activity)、服務(wù)(Service)、意圖(Intent)等],同時(shí)需要能熟練地閱讀與編寫Java代碼、使用AndroidSDK。致謝衷心感謝以下人士協(xié)助筆者完成此書。NicolasGramlich,他為了打造世界級(jí)的Android游戲引擎創(chuàng)立了AndEngine,并將努力工作的成果作為開(kāi)源項(xiàng)目分享給大家(也包括每位讀者在內(nèi))。Nicolas慷慨地允許我使用AndEngine作為本書的基礎(chǔ),并且自愿審閱了本書的草稿。他持續(xù)地完善與擴(kuò)充AndEngine,并將這些改進(jìn)提供給本書使用。TrinaMacDonald,本書的組稿編輯,正是她提議寫一本Android游戲開(kāi)發(fā)相關(guān)的書。她是位出色的項(xiàng)目經(jīng)理,沒(méi)有她不知疲倦的辛苦工作,本書不可能與大家見(jiàn)面。JamesBecwar、StephanBranczyk、JasonWei,本書的技術(shù)編輯。不可能有比他們更好的技術(shù)審校者了。他們?nèi)涣钗以趯憰鴷r(shí)能夠本著實(shí)事求是的態(tài)度,確保技術(shù)信息的準(zhǔn)確性,也保證了所有代碼都能正確運(yùn)行。SonglinQiu是位出色的拓展編輯。本書行文清晰流暢之處,都要?dú)w功于她在審稿時(shí)提供的許多寶貴建議。如果讀者發(fā)現(xiàn)文字有難懂之處,恐怕要怪我未采納其中某些建議。本書付諸刊印,要感謝生產(chǎn)經(jīng)理JulieNahil與文字編輯JillHobbs的艱苦努力。我能不過(guò)多地分散精力,始終專注于本書的寫作并最終將其完成,很大程度上要?dú)w功于他們。OliviaBasegio身為助理編輯,做了許多工作。她將本書草稿交給合適的人員去審閱,并將其初步裁切。她也編排了本書的插圖與許可信息,并在我忘記事情時(shí)提醒我。沒(méi)有Olivia的幫助,我們只能看到一些零碎的資料,而不可能有一本完整的書呈現(xiàn)在眼前。這里無(wú)法詳盡地列出在遇到困難時(shí)鼓勵(lì)我的每位朋友與家人的名字。我要特別感謝女兒AllisonJackson和KatieKehrl,她們一如既往的樂(lè)觀使我相信最終能完成此書,她們用自己的生活態(tài)度為我樹(shù)立了榜樣。SusieJackson,我的妻子,為我做的每件事情提供靈感,也包括寫這本書。她棒極了!能夠和她結(jié)婚我感到很幸運(yùn)。她在生活中帶給我的自信與積極態(tài)度,讓我能夠坐在辦公室里努力創(chuàng)作。再次感謝你,Susie。

內(nèi)容概要

  本書是一本經(jīng)典的Android游戲開(kāi)發(fā)教程,由資深軟件開(kāi)發(fā)專家親自執(zhí)筆,AndEngine引擎創(chuàng)建者作序推薦。
  書中以開(kāi)源引擎AndEngine為基礎(chǔ),不僅以專題的形式巧妙地將Android游戲開(kāi)發(fā)必須掌握的各項(xiàng)關(guān)鍵技術(shù)(場(chǎng)景、圖層、圖形繪制、精靈、動(dòng)畫、物理效果、粒子系統(tǒng)、碰撞檢測(cè)、關(guān)卡設(shè)計(jì)、美工、聲音……)串聯(lián)起來(lái),系統(tǒng)地講解了Android游戲開(kāi)發(fā)者應(yīng)該學(xué)習(xí)的理論知識(shí),而且用一個(gè)完整的案例貫穿全書,將游戲開(kāi)發(fā)的各項(xiàng)要素整合到一起,對(duì)Android游戲開(kāi)發(fā)的方法和流程做了一個(gè)全景展示,可操作性極強(qiáng)。
  全書共分17章:第1章介紹手機(jī)游戲的概況和類型;第2章~第15章各章都會(huì)闡述一個(gè)與游戲開(kāi)發(fā)相關(guān)的話題,其中包括游戲的要素與游戲開(kāi)發(fā)的工具,游戲邏輯循環(huán)的概念和用AndEngine開(kāi)始開(kāi)發(fā)游戲的方法,場(chǎng)景、圖層、場(chǎng)景切換與實(shí)體修改器,精靈和動(dòng)畫精靈的繪制方法,文本和用戶輸入,瓦片地圖,粒子系統(tǒng),聲音,物理效果,人工智能,計(jì)分與碰撞以及多媒體擴(kuò)展包;第16章介紹如何通過(guò)完善現(xiàn)有功能使游戲更有趣;第17章介紹游戲的測(cè)試與發(fā)行。每章最后都有練習(xí)題,可幫助讀者邊學(xué)邊練,迅速提高技能,書最后提供了習(xí)題答案。

作者簡(jiǎn)介

  ick
Rogers 資深軟件開(kāi)發(fā)工程師,擁有30余年軟件開(kāi)發(fā)經(jīng)驗(yàn),從事手機(jī)軟件開(kāi)發(fā)10余年,經(jīng)驗(yàn)十分豐富。他還是一位有經(jīng)驗(yàn)的技術(shù)作家,曾在雜志上發(fā)表過(guò)多篇技術(shù)文章,并著有另外一本關(guān)于Android應(yīng)用開(kāi)發(fā)的圖書。
  譯者簡(jiǎn)介
  愛(ài)飛翔 資深A(yù)ndroid開(kāi)發(fā)工程師和游戲開(kāi)發(fā)工程師,有10余年開(kāi)發(fā)經(jīng)驗(yàn),曾主導(dǎo)和參與了多個(gè)手機(jī)游戲和手機(jī)軟件項(xiàng)目的開(kāi)發(fā),經(jīng)驗(yàn)十分豐富。他是手機(jī)軟件開(kāi)發(fā)引擎AgileMobileEngine的創(chuàng)始人兼項(xiàng)目經(jīng)理,同時(shí)也是CatEngine手機(jī)游戲開(kāi)發(fā)引擎的聯(lián)合創(chuàng)始人兼代碼維護(hù)員。他對(duì)極限編程、設(shè)計(jì)模式、重構(gòu)、測(cè)試驅(qū)動(dòng)開(kāi)發(fā)、敏捷軟件開(kāi)發(fā)等也有較深入的研究,目前負(fù)責(zé)敏捷移動(dòng)開(kāi)發(fā)網(wǎng)(http://www.agilemobidev.com/)的運(yùn)營(yíng)。業(yè)余愛(ài)好文學(xué)和歷史,有一定的文學(xué)造詣。

書籍目錄

譯者序

前言
第1章 手機(jī)游戲
1.1 手機(jī)游戲市場(chǎng)
1.2 電腦游戲的世界
1.2.1 游戲類型
1.2.2 適合于手機(jī)的游戲
1.2.3 典型的游戲組件
1.2.4 《少女大戰(zhàn)吸血鬼》
1.2.5 V3的設(shè)計(jì)
1.3 AndEngine范例
1.4 總結(jié)
1.5 習(xí)題
第2章 游戲要素與工具
2.1 軟件開(kāi)發(fā)工具
2.1.1 Android SDK
2.1.2 AndEngine游戲引擎庫(kù)
2.1.3 AndEngine游戲概念
2.1.4 Box2D物理引擎
2.2 圖形工具
2.2.1 矢量圖工具:Inkscape
2.2.2 位圖工具:GIMP
2.2.3 動(dòng)畫捕捉:AnimGet
2.2.4 瓦片地圖創(chuàng)建工具:Tiled
2.2.5 TrueType字體創(chuàng)建與編輯工具:FontStruct
2.3 聲音工具
2.3.1 音效工具:Audacity
2.3.2 背景音樂(lè)工具:MuseScore
2.4 初試身手:制作啟動(dòng)畫面
2.4.1 創(chuàng)建游戲項(xiàng)目
2.4.2 加入AndEngine庫(kù)
2.4.3 加入啟動(dòng)畫面代碼
2.4.4 用模擬器運(yùn)行游戲
2.4.5 用Android設(shè)備運(yùn)行游戲
2.5 總結(jié)
2.6 習(xí)題
第3章 游戲循環(huán)與菜單
3.1 游戲循環(huán)概述
3.2 AndEngine的游戲循環(huán)
3.2.1 初始化Engine對(duì)象
3.2.2 其他Engine類
3.3 為V3增加菜單屏幕
3.3.1 AndEngine的菜單
3.3.2 構(gòu)建V3的開(kāi)始菜單
3.3.3 創(chuàng)建菜單
3.3.4 MainMenuActivity類
3.3.5 常數(shù)與字段
3.3.6 onLoadResources()方法
3.3.7 onLoadScene()方法
3.3.8 createStaticMenuScene()方法與createPopUpScene()方法
3.3.9 onKeyDown()方法與onMenuItemClicked()方法
3.3.10 從啟動(dòng)畫面切換到菜單
3.4 內(nèi)存使用
3.5 “退出”選項(xiàng)
3.6 總結(jié)
3.7 習(xí)題
第4章 場(chǎng)景、圖層、場(chǎng)景切換與實(shí)體修改器
4.1 AndEngine的場(chǎng)景
4.1.1 實(shí)體組件模型
4.1.2 Entity類
4.1.3 構(gòu)造器
4.1.4 Entity類的位置相關(guān)方法
4.1.5 Entity類的縮放相關(guān)方法
4.1.6 Entity類的顏色相關(guān)方法
4.1.7 Entity類的旋轉(zhuǎn)相關(guān)方法
4.1.8 管理子對(duì)象
4.1.9 管理Modifier
4.1.10 其他有用的Entity類方法
4.1.11 Layer類
4.1.12 Scene類
4.1.13 背景管理
4.1.14 子Scene對(duì)象管理
4.1.15 Layer對(duì)象管理
4.1.16 上級(jí)Scene對(duì)象管理
4.1.17 觸摸區(qū)域管理
4.1.18 特殊Scene類
4.1.19 用于Entity的Modifier類
4.1.20 EntityModifier類的通用方法
4.1.21 位置相關(guān)的EntityModifier類
4.1.22 縮放相關(guān)的EntityModifier類
4.1.23 顏色相關(guān)的EntityModifier類
4.1.24 旋轉(zhuǎn)相關(guān)的EntityModifier類
4.1.25 透明度相關(guān)的EntityModifier類
4.1.26 延遲相關(guān)的EntityModifier類
4.1.27 Modifier的組合
4.1.28 EaseFunction
4.2 創(chuàng)建游戲第1關(guān)的場(chǎng)景
4.3 總結(jié)
4.4 習(xí)題
第5章 繪制與精靈
5.1 快速回顧Entity類
5.2 繪制線條與矩形
5.2.1 線條
5.2.2 矩形
5.3 精靈
5.3.1 貼圖
5.3.2 效率問(wèn)題
5.3.3 復(fù)合精靈
5.4 總結(jié)
5.5 習(xí)題
第6章 動(dòng)畫
6.1 動(dòng)畫所需素材
6.2 動(dòng)畫的瓦片貼圖
6.3 AndEngine的動(dòng)畫
6.4 動(dòng)畫范例
6.5 將動(dòng)畫加入Level1Activity類
6.6 動(dòng)畫制作的問(wèn)題
6.7 高級(jí)話題:從3D模型中制作2D動(dòng)畫
6.8 總結(jié)
6.9 習(xí)題
第7章 文本
7.1 字型與字體
7.2 載入字型
7.2.1 Font類
7.2.2 StrokeFont類
7.2.3 FontFactory類
7.2.4 FontManager類
7.2.5 Typeface類
7.3 AndEngine中的文本
7.3.1 AndEngine中的文本API
7.3.2 桌面通知
7.4 定制字型
7.5 將定制字型加入V3
7.6 總結(jié)
7.7 習(xí)題
第8章 用戶輸入
8.1 Android與AndEngine的輸入方式
8.1.1 字母鍵盤與袖珍鍵盤
8.1.2 觸摸
8.1.3 自定義手勢(shì)
8.1.4 屏幕游戲手柄
8.1.5 加速計(jì)
8.1.6 位置和方向
8.1.7 語(yǔ)音
8.2 將用戶輸入加入V3
8.3 總結(jié)
8.4 習(xí)題
第9章 瓦片地圖
9.1 為何使用瓦片地圖
9.2 瓦片地圖的類型
9.2.1 正交瓦片地圖
9.2.2 等距投影瓦片地圖
9.3 瓦片地圖的結(jié)構(gòu)
9.4 AndEngine中的瓦片地圖
9.4.1 TMX與TSX文件
9.4.2 TMXLoader類
9.4.3 TMXTiledMap類
9.4.4 TMXLayer類
9.4.5 TMXTile類
9.5 瓦片編輯器:Tiled
9.6 TMX文件
9.7 正交瓦片地圖游戲:《打吸血鬼》
9.7.1 WAV的瓦片地圖
9.7.2 創(chuàng)建WAV的瓦片集
9.7.3 創(chuàng)建WAV的瓦片地圖
9.7.4 《打吸血鬼》游戲的代碼
9.8 等距投影瓦片地圖
9.9 總結(jié)
9.10 習(xí)題
第10章 粒子系統(tǒng)
10.1 粒子發(fā)射器是什么
10.2 粒子系統(tǒng)如何運(yùn)作
10.3 AndEngine的粒子系統(tǒng)
10.3.1 ParticleSystem類
10.3.2 ParticleEmitter類
10.3.3 ParticleInitializer類
10.3.4 ParticleModifier類
10.3.5 有用的ParticleSystem類方法
10.4 創(chuàng)建粒子系統(tǒng)
10.4.1 以傳統(tǒng)方式創(chuàng)建粒子系統(tǒng)
10.4.2 以XML文件創(chuàng)建粒子系統(tǒng)
10.5 將粒子發(fā)射器加入V3游戲中
10.5.1 以傳統(tǒng)方式制作V3的爆炸效果
10.5.2 以XML文件方式制作V3的爆炸效果
10.6 總結(jié)
10.7 習(xí)題
第11章 聲音
11.1 如何在游戲中使用聲音
11.1.1 音樂(lè)
11.1.2 音效
11.2 音樂(lè)與音效的來(lái)源
11.3 音樂(lè)與音效制作工具
11.4 音頻解碼器
11.5 使用AndEngine播放聲音
11.5.1 Music類
11.5.2 Sound類
11.5.3 MusicFactory類
11.5.4 SoundFactory類
11.6 將聲音加入V3游戲
11.6.1 創(chuàng)建音效
11.6.2 創(chuàng)建背景音樂(lè)
11.6.3 修改V3游戲的代碼
11.7 總結(jié)
11.8 習(xí)題
第12章 物理效果
12.1 Box2D物理引擎
12.1.1 Box2D概念
12.1.2 設(shè)定Box2D
12.2 構(gòu)建物理學(xué)游戲的關(guān)卡
12.3 AndEngine與Box2D
12.3.1 下載AndEnginePhysicsBox2DExtension并將其加入游戲項(xiàng)目
12.3.2 Box2D的API
12.3.3 簡(jiǎn)單的物理效果范例
12.3.4 關(guān)卡加載
12.4 《憤怒的村民》:V3中的物理學(xué)小游戲
12.5 實(shí)現(xiàn)IV游戲
12.5.1 創(chuàng)建關(guān)卡
12.5.2 編寫IVActivity.java
12.6 總結(jié)
12.7 習(xí)題
第13章 人工智能
13.1 游戲AI相關(guān)話題
13.1.1 簡(jiǎn)單的腳本
13.1.2 決策樹(shù)、Minimax樹(shù)與狀態(tài)機(jī)
13.1.3 專家系統(tǒng)或基于規(guī)則的決策系統(tǒng)
13.1.4 神經(jīng)網(wǎng)絡(luò)
13.1.5 遺傳算法
13.1.6 路徑查找
13.1.7 動(dòng)態(tài)困難度調(diào)節(jié)
13.1.8 程序化的音樂(lè)生成
13.2 實(shí)現(xiàn)V3游戲的AI
13.3 總結(jié)
13.4 習(xí)題
第14章 計(jì)分與碰撞
14.1 計(jì)分系統(tǒng)設(shè)計(jì)
14.1.1 更新小游戲取得的分?jǐn)?shù)
14.1.2 記錄5個(gè)最高分
14.1.3 在小游戲場(chǎng)景中顯示分?jǐn)?shù)
14.1.4 分?jǐn)?shù)頁(yè)面的顯示
14.2 AndEngine的碰撞
14.2.1 AndEngine的Shape碰撞
14.2.2 Box2D的碰撞
14.3 開(kāi)始計(jì)算玩家的得分
14.4 《墓地》(第1關(guān))場(chǎng)景
14.4.1 常量和字段
14.4.2 onLoadEngine方法與onLoadResources方法
14.4.3 onLoadScene方法
14.4.4 mStartVamp任務(wù)
14.5 《打吸血鬼》
14.5.1 常量和字段
14.5.2 onLoadScene方法
14.5.3 openCoffin和closeCoffin方法
14.6 《憤怒的村民》
14.6.1 常量和字段
14.6.2 onLoadScene方法
14.6.3 onLoadComplete方法
14.6.4 addStake方法
14.7 總結(jié)
14.8 習(xí)題
第15章 多媒體擴(kuò)展包
15.1 下載多媒體擴(kuò)展包
15.2 動(dòng)態(tài)壁紙
15.2.1 Android動(dòng)態(tài)壁紙
15.2.2 創(chuàng)建V3的Android動(dòng)態(tài)壁紙
15.3 MOD格式音樂(lè)
15.3.1 搜尋MOD格式的音樂(lè)
15.3.2 XMP MOD播放器
15.4 多人游戲
15.5 AndEngine的多點(diǎn)觸摸
15.6 增強(qiáng)現(xiàn)實(shí)游戲
15.7 總結(jié)
15.8 習(xí)題
第16章 游戲集成
16.1 困難度調(diào)節(jié)
16.1.1 困難度參數(shù)的保存
16.1.2 困難度參數(shù)的設(shè)定
16.2 游戲結(jié)束畫面的代碼
16.3 第1關(guān):主游戲
16.4 《打吸血鬼》
16.5 《憤怒的村民》
16.6 選項(xiàng)菜單
16.7 總結(jié)
16.8 習(xí)題
第17章 測(cè)試與發(fā)行
17.1 應(yīng)用程序商業(yè)模式
17.2 測(cè)試與發(fā)行準(zhǔn)備工作
17.2.1 在實(shí)際設(shè)備上測(cè)試游戲
17.2.2 考慮加入終端用戶許可協(xié)議
17.2.3 向Manifest文件加入圖標(biāo)與標(biāo)簽
17.2.4 關(guān)閉記錄與調(diào)試功能
17.2.5 在游戲中增加版本號(hào)
17.2.6 獲取密鑰
17.2.7 編譯與簽名最終的.apk文件
17.2.8 測(cè)試最終的.apk文件
17.3 發(fā)行游戲
17.3.1 Android Market
17.3.2 Amazon App Store
17.4 推廣游戲
17.4.1 App Store推廣
17.4.2 游戲評(píng)論網(wǎng)站推廣
17.4.3 手機(jī)廣告
17.4.4 口碑營(yíng)銷
17.4.5 社交網(wǎng)絡(luò)推廣
17.5 總結(jié)
附錄 習(xí)題解答

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   3.4內(nèi)存使用 趁這個(gè)機(jī)會(huì),我們花幾分鐘時(shí)間來(lái)講一個(gè)手機(jī)軟件設(shè)計(jì)所面臨的重要問(wèn)題,那就是內(nèi)存使用與垃圾收集。如果讀者曾經(jīng)開(kāi)發(fā)過(guò)手機(jī)軟件的話,應(yīng)該會(huì)了解手機(jī)應(yīng)用開(kāi)發(fā)與桌面應(yīng)用開(kāi)發(fā)的一個(gè)重大差別:手機(jī)的資源很有限。這里所說(shuō)的資源包括電池電量、內(nèi)存、固定存儲(chǔ)器、屏幕尺寸、處理器速度以及其他一些東西。在做手機(jī)游戲時(shí),要始終考慮如何節(jié)省資源。 例如,在Android手機(jī)游戲開(kāi)發(fā)中,內(nèi)存使用與垃圾回收就是個(gè)大問(wèn)題。大家都知道,游戲的Java二進(jìn)制碼是運(yùn)行在Dalvik虛擬機(jī)上的,當(dāng)其耗盡可用內(nèi)存后,會(huì)調(diào)用垃圾回收器將不再被引用的對(duì)象回收掉。這個(gè)辦法能夠解決大部分的內(nèi)存泄漏問(wèn)題,但是當(dāng)垃圾回收器運(yùn)行時(shí),會(huì)拖慢游戲的運(yùn)行。開(kāi)發(fā)者當(dāng)然想極力減少系統(tǒng)進(jìn)行垃圾回收的次數(shù),可以盡可能多地重用已有對(duì)象來(lái)達(dá)到目的。看看源代碼就會(huì)發(fā)現(xiàn),AndEngine非常善于利用對(duì)象池技術(shù)來(lái)分配與回收對(duì)象,這個(gè)方法雖然不是萬(wàn)靈丹,但是如果運(yùn)用得合理,也是非常有效的。 3.5“退出”選項(xiàng) 現(xiàn)在告訴大家一個(gè)猥瑣的小秘密。其實(shí)說(shuō)起來(lái)也不算什么,就是關(guān)于前一個(gè)菜單上的那個(gè)“退出”按鈕的事情。大家可能知道,Android系統(tǒng)從來(lái)都沒(méi)有真正的“退出”選項(xiàng)。當(dāng)用戶要停止(其實(shí)是暫停執(zhí)行)一個(gè)程序時(shí),Android推薦的方法是按下手機(jī)的“Back”鍵,這樣系統(tǒng)就會(huì)回到主桌面。如果讀者覺(jué)得這話難以理解,請(qǐng)?jiān)贏ndroid開(kāi)發(fā)者文檔(http://developer.android.com)中找到“Activity Lifecycle”這一段并看一看。應(yīng)用程序可以在當(dāng)前Activity類中的onPause()方法中關(guān)閉所有服務(wù),并停止所有的計(jì)時(shí)器。 為了符合Android開(kāi)發(fā)規(guī)范,自此將從菜單中除去“退出”選項(xiàng)。 3.6 總結(jié) 本章開(kāi)頭綜述了游戲循環(huán)的概念,然后介紹AndEngine用以實(shí)現(xiàn)游戲循環(huán)的方法。在絕大多數(shù)情況下,AndEngine的游戲循環(huán)是不可見(jiàn)的。開(kāi)發(fā)者編寫代碼將所要完成的任務(wù)告知游戲循環(huán),它會(huì)自動(dòng)安排執(zhí)行。 AndEngine提供了許多有關(guān)菜單的類。本書給出了用于創(chuàng)建與管理文本菜單、圖形化(精靈)菜單以及動(dòng)畫精靈菜單的若干方法。 范例游戲接下來(lái)要寫的功能,是在啟動(dòng)畫面結(jié)束后創(chuàng)建主菜單畫面并顯示給玩家。在寫這部分代碼的過(guò)程中,讀者熟悉了AndEngine中菜單相關(guān)類的用法。這段代碼創(chuàng)建了文本菜單并列出了幾個(gè)菜單項(xiàng),展示了文本菜單的默認(rèn)行為;同時(shí)也創(chuàng)建了一個(gè)有若干選項(xiàng)的彈出式圖形菜單,并比較了創(chuàng)建該菜單與創(chuàng)建文本菜單的異同。 現(xiàn)在大家已經(jīng)掌握了基于AndEngine引擎開(kāi)發(fā)游戲的基本結(jié)構(gòu),學(xué)會(huì)了如何啟動(dòng)游戲,如何處理不同的菜單項(xiàng)以及如何結(jié)束游戲。讀者還了解到創(chuàng)建新場(chǎng)景與加載資源所使用的固定代碼模式?,F(xiàn)在應(yīng)該研究一下游戲內(nèi)容本身,以及游戲所需基本元素的細(xì)節(jié)問(wèn)題了。這些將是第4章所要講的內(nèi)容。 3.7 習(xí)題 1.MainMenuActivity代碼在彈出式菜單上用SlideAnimator做出了滑動(dòng)效果。如果將SlideAnimator應(yīng)用于靜態(tài)菜單,結(jié)果會(huì)如何?請(qǐng)解釋為何靜態(tài)菜單不會(huì)如預(yù)期的那樣滑動(dòng)。 2.修改MainMenuActivity.java,使得每個(gè)菜單項(xiàng)具有不同的顏色。 3.修改MainMenuActivity.java,使得菜單項(xiàng)在被選中時(shí),尺寸稍微變大一些,而不要像現(xiàn)在這樣變成灰色。

媒體關(guān)注與評(píng)論

“Rick Rogers寫的這本書很棒,全書以通俗易懂的語(yǔ)言講解了常見(jiàn)的游戲開(kāi)發(fā)問(wèn)題。書中以AndEngine作為技術(shù)基礎(chǔ)來(lái)講解游戲的制作,通過(guò)一個(gè)完整的范例游戲指導(dǎo)讀者進(jìn)行開(kāi)發(fā),整個(gè)開(kāi)發(fā)過(guò)程既涵蓋了初學(xué)者應(yīng)該掌握的所有知識(shí)點(diǎn),也為專業(yè)級(jí)游戲開(kāi)發(fā)者提供了經(jīng)驗(yàn)與心得。”——Nicolas Gramlich,AndEngine創(chuàng)始人

編輯推薦

《華章程序員書庫(kù):Android游戲開(kāi)發(fā)實(shí)踐指南》由全球資深軟件開(kāi)發(fā)專家親自執(zhí)筆,AndEngine創(chuàng)始人Nicolas Gramlich作序鼎力推薦!理論知識(shí)系統(tǒng)而全面,講解了Android游戲開(kāi)發(fā)的方方面面;實(shí)戰(zhàn)性強(qiáng),以各種經(jīng)典游戲案例為導(dǎo)向,全面展示了Android游戲開(kāi)發(fā)的流程、方法和技巧,是系統(tǒng)學(xué)習(xí)Android游戲開(kāi)發(fā)的經(jīng)典教程。

名人推薦

“Rick Rogers寫的這本書很棒,全書以通俗易懂的語(yǔ)言講解了常見(jiàn)的游戲開(kāi)發(fā)問(wèn)題。書中以AndEngine作為技術(shù)基礎(chǔ)來(lái)講解游戲的制作,通過(guò)一個(gè)完整的范例游戲指導(dǎo)讀者進(jìn)行開(kāi)發(fā),整個(gè)開(kāi)發(fā)過(guò)程既涵蓋了初學(xué)者應(yīng)該掌握的所有知識(shí)點(diǎn),也為專業(yè)級(jí)游戲開(kāi)發(fā)者提供了經(jīng)驗(yàn)與心得。”——Nicolas Gramlich,AndEngine創(chuàng)始人

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Android游戲開(kāi)發(fā)實(shí)踐指南 PDF格式下載


用戶評(píng)論 (總計(jì)47條)

 
 

  •   看完了,這是一本全面介紹AndEngine和Android游戲開(kāi)發(fā)相關(guān)方面知識(shí)的相當(dāng)nice的書?。。。。。。。。?!目前正在使用AndEngine進(jìn)行開(kāi)發(fā),相信過(guò)不多久我使用的AndEngine開(kāi)發(fā)的處女座就要誕生了!
  •   書挺好的,以一個(gè)游戲?qū)嵗齺?lái)逐步講解AndEngine游戲引擎的開(kāi)發(fā),不過(guò)現(xiàn)在國(guó)內(nèi)用這一引擎開(kāi)發(fā)的相對(duì)較少,單作為學(xué)習(xí)還可以。
  •   書大概看了下,比較適合AndEngine入門。。。
  •   書不錯(cuò),講的內(nèi)容很豐富,研讀中
  •   書到了,還沒(méi)開(kāi)始看,先頂一個(gè)
  •   全是代碼,不適合初學(xué)者
  •   剛到,書的質(zhì)量不錯(cuò)
  •   很好,是想要的書
  •   書好,發(fā)貨快,快遞也快。感覺(jué)不錯(cuò)。
  •   代LG買的,說(shuō)這書很不錯(cuò):)
  •   不錯(cuò)的商品,是正版,內(nèi)容也好
  •   還沒(méi)看內(nèi)容,紙質(zhì)挺好的,送貨也很快
  •   翻了一下,感覺(jué)不錯(cuò)。
  •   這個(gè)商品不錯(cuò),入門容
  •   圍繞andengine引擎進(jìn)行游戲開(kāi)發(fā),適合入門
  •   書還沒(méi)全看,應(yīng)該挺不錯(cuò)的,內(nèi)容挺豐富的。
  •   原以為直接可以學(xué)的,結(jié)果還要學(xué)基礎(chǔ),當(dāng)當(dāng)也不寫清楚,搞得我還是重新買一本基礎(chǔ)的書。說(shuō)清楚有些不重要的書就不買直接買基礎(chǔ)的啊。太惡心了
  •   學(xué)習(xí)中?。。。。【褪怯悬c(diǎn)難度啊
  •   剛到手還沒(méi)有看完無(wú)法給出完整的評(píng)價(jià)。
  •   書的質(zhì)量不錯(cuò),看來(lái)以后受益匪淺。從中你可以學(xué)到真正的東西。
  •   還沒(méi)讀,書質(zhì)量不錯(cuò)
  •   挺好的,喜歡,有好的下次再接著買。
  •   自學(xué)Cocos2d-x后就沒(méi)怎么想看這個(gè)了。
  •   印刷和排版太一般了!內(nèi)容還沒(méi)仔細(xì)看
  •   剛剛買,還沒(méi)有看,看評(píng)價(jià)還可以。
  •   還不錯(cuò)哦哦哦耶耶耶哈哈
  •   花了兩天時(shí)間看了一下,還不錯(cuò),對(duì)Android 游戲引擎有了一定了解.
  •   其他還好,美中不足的是書中網(wǎng)址上的源代碼有錯(cuò)誤
  •   說(shuō)實(shí)話,要不是啊看到標(biāo)題介紹說(shuō)這本書是AndEngine的作者親自執(zhí)筆作序,再加上那么多好評(píng)(我懷疑是不是托),我是絕對(duì)不會(huì)買這本書的。首先這本書整體其實(shí)最多也就算是AndEngine的api文檔而已,基本沒(méi)有作者的經(jīng)驗(yàn)之談,也沒(méi)有什么實(shí)際工作中的建議,全是介紹哪個(gè)api怎么使用,那個(gè)工具怎么用。看過(guò)AndEngine的sample示例代碼的人都知道,AndEngine的作者寫的代碼雖然基本沒(méi)有注釋,但是基本上屬于沒(méi)有注釋勝過(guò)有注釋的通俗易懂的那種風(fēng)格,所以你只要是稍微看過(guò)一些源碼的人,那么這本書對(duì)于你來(lái)說(shuō)就沒(méi)有存在的價(jià)值了,本書唯一讓我感興趣的是204頁(yè)提到的PXEditor(粒子效果編輯器),書上提到,這個(gè)工具在隨書供下載的源碼里有,但是我找遍了代碼,找遍了百度、google,連影子都沒(méi)看到。最后,我想說(shuō)的是,如果你不習(xí)慣看AndEngine自帶的sample的話,愿意買書看的話,那本人也不反對(duì)你買這本書,不過(guò)還是建議你買之前先去google play上面搜一下這本書里從頭到尾說(shuō)的那個(gè)項(xiàng)目的apk,名字叫Virgins Versus Vampires(一個(gè)紅色的V3圖標(biāo),下面有一個(gè)穿披風(fēng)的人的圖案),裝了這個(gè)apk看看后再?zèng)Q定買也不遲,不管你信不信,我當(dāng)時(shí)反正是吐了。
  •   稍微看了看,感覺(jué)不怎么好,太過(guò)簡(jiǎn)單,有點(diǎn)文字堆積的意味,章節(jié)不少,不過(guò)每章內(nèi)容不多,嗯
  •   建議大家不要賣這本書了,這本書主要基于AndEngine框架,但是這個(gè)框架本身沒(méi)有自己的API,而這本書使用的框架版本較低,里面的很多方法已經(jīng)不是書里介紹的使用方式了。對(duì)初學(xué)者來(lái)說(shuō),你連第一個(gè)示例的第一個(gè)方法都調(diào)不通,怎么還能有學(xué)下去的可能呢。
  •   為什么代碼不能運(yùn)行呢?哎,有沒(méi)有聯(lián)系方式啊 正確導(dǎo)入
  •   在長(zhǎng)假收尾的時(shí)候在網(wǎng)上下載了原書的電子版, 細(xì)細(xì)一讀, 覺(jué)得還不錯(cuò). 后來(lái)有發(fā)覺(jué)國(guó)內(nèi)已經(jīng)出了中文版, 所以買一本支持一把,是一本好書, 有助于了解android game programming, 如果能借此機(jī)會(huì)再深入了解andengine本身 相信收益更大吧.
  •   不錯(cuò)的,還可以的,不錯(cuò)
  •   基本上和文檔上的差不多。
  •   用一個(gè)游戲貫穿知識(shí)點(diǎn),對(duì)AndEngine和制作一個(gè)完整的游戲都很有收獲。譯者翻譯不錯(cuò),還有專門的網(wǎng)站解惑,贊個(gè)。書里對(duì)box2d講的再多點(diǎn)就好了。
  •   初學(xué)者可以當(dāng)字典用用
  •   對(duì)于引擎來(lái)說(shuō) 可以的一本書
  •   這本書英文版的PDF我也看過(guò),閱讀習(xí)慣的原因我還是喜歡紙書。我認(rèn)為非常適合游戲開(kāi)發(fā)的入門者,能快速掌握。
  •   寫的還算詳細(xì),資源都需要自己去找,內(nèi)容跟目前的jar不符合,參考而已,還需要自己看例子再學(xué)習(xí),增加了難度但是我覺(jué)得這個(gè)過(guò)程我就熟悉了新的SDK了,所以就不說(shuō)什么了
  •   書與最新的有出入,方法明有改動(dòng)啊,郁悶
  •   1.書本身不厚,行距也挺大的,字?jǐn)?shù)不是很多,空白的地方有點(diǎn)多,感覺(jué)不值60元。2.將引擎的,內(nèi)容適合有點(diǎn)android基礎(chǔ)的人看,是外國(guó)人的風(fēng)格,翻譯的也不錯(cuò)。3.代碼有錯(cuò)的,可能是我下的jar包有問(wèn)題還是怎么著,有的方法一寫就錯(cuò),不能用。書上給的下載jar包的地址也不能下載。。。... 閱讀更多
  •   還沒(méi)用,用了再來(lái)補(bǔ)評(píng)
  •   正準(zhǔn)備搞android游戲
  •   開(kāi)發(fā)游戲的參考書
  •   真的很次
  •   不錯(cuò)。引擎入門可以。不過(guò)有老了。
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7