-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Android游戲開發實踐指南

( 簡體 字)
作者:(美)Rick Rogers 類別:1. -> 程式設計 -> 手機程式 -> Android
譯者:
出版社:機械工業出版社Android游戲開發實踐指南 3dWoo書號: 33624
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:9/1/2012
頁數:412
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111391548
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

本書要點

這是一本講解如何編寫Android手機游戲的書。只要讀者略有開發Android應用的經驗,就可以通過閱讀本書,將這種經驗同AndEngine開源游戲引擎結合起來,制作出2D手機游戲。無論要寫什么類型的游戲,本書都會提供范例,并逐步講解它們。本書旨在讓你熟悉AndEngine并且盡快發布游戲,其中許多例子都是為了支持一個范例游戲:《少女大戰吸血鬼》(Virgins Versus Vampires,V3)的開發。

本書開篇的第1章會介紹手機游戲的概況、流行程度、游戲的類型以及游戲策劃的范例。接下來的數章,每章將會針對一個游戲開發相關的話題展開論述。

第2章講述了用來開發游戲的工具,包括進行代碼開發、美工和聲音制作所用的工具。

第3章介紹了游戲邏輯循環的概念,并且演示了如何用AndEngine開始開發游戲。

第4章深入探討圖形繪制,詳解了AndEngine所提供的場景切換與實體修改器機制,運用它們可使游戲的顯示效果豐富多彩。

第5章再進一步深入游戲中的位圖和矢量圖形的繪制,演示了如何繪制精靈。

第6章介紹了構建動畫精靈的簡單方法,以及如何讓物體動起來。

第7章給出使用AndEngine以各種方式在游戲中顯示文本的范例。

第8章研究了Android游戲可用的用戶輸入選項,包括觸摸、多點觸摸、鍵盤、語音識別、加速度計、定位器與方向檢測器。

第9章講述了AndEngine如何載入和使用瓦片地圖,以及如何用瓦片集去構造無限廣闊的虛擬世界。

第10章演示了內建于AndEngine的粒子系統,并展示了如何用XML文件定義與保存粒子效果。

第11章展示了如何用AndEngine來查找、獲取、修改、使用背景音樂與音效。

第12章研究了物理引擎Box2D。它與AndEngine一起,使開發基于物理交互對象的游戲更加容易。

第13章研究了可以讓游戲更加智能、更加好玩的人工智能技術。

第14章搭建了一個基于游戲元素間碰撞的計分框架。

第15章探究了AndEngine可以利用擴展而完成的功能,例如創建Android活動桌布,播放MOD音樂文件,創建“增強現實游戲”,以及在多人游戲的玩家中進行通信。

第16章通過完善現有功能或增加新功能使游戲更具可玩性,并至此結束本書的范例游戲開發。

第17章講述了為確保游戲順利發行而需要做的事情,然后告訴讀者如何發行與推銷游戲。

附錄提供了每章末尾習題的答案。

本書最好按順序閱讀,但如果讀者覺得跳讀更合適的話,那樣也可以。每一個主題基本上都作為獨立的概念來講述,但是如果需要引用其他章的概念來講述它,那么那些概念也會被提到。

對于讀者來說,本書的目的很簡單:玩得開心。本書的寫作精神是,游戲應該是有趣的,而且開發游戲本身也應該有趣。愿你的游戲能夠在Android Market的“熱門下載”列表中登上榜首。

本書的目標讀者

如果讀者迫不及待地想要為Android設備開發2D游戲,并且至少具備一些用Android SDK和Java進行Android應用開發的經歷,那么本書就很適合你了。本書介紹了手機游戲的基本主題,并演示了如何用AndEngine游戲引擎去實現它們。要學習這些范例的話,不一定必須是個Android開發高手,但需要熟悉Android的基本概念〔例如活動(Activity)、服務(Service)、意圖(Intent)等〕,同時需要能熟練地閱讀與編寫Java代碼、使用Android SDK。

本書的范例代碼

書中代碼可在本書網站獲取:

http://www.informit.com/title/9780321769626。

也可以在配套的github站點獲取:

https://github.com/portmobile/LAGP-Example-Code。

致謝

衷心感謝以下人士協助筆者完成此書。

Nicolas Gramlich ,他為了打造世界級的Android游戲引擎創立了AndEngine,并將努力工作的成果作為開源項目分享給大家(也包括每位讀者在內)。Nicolas慷慨地允許我使用AndEngine作為本書的基礎,并且自愿審閱了本書的草稿。他持續地完善與擴充AndEngine,并將這些改進提供給本書使用。

Trina MacDonald,本書的組稿編輯,正是她提議寫一本Android游戲開發相關的書。她是位出色的項目經理,沒有她不知疲倦的辛苦工作,本書不可能與大家見面。

James Becwar、Stephan Branczyk、Jason Wei ,本書的技術編輯。不可能有比他們更好的技術審校者了。他們三位令我在寫書時能夠本著實事求是的態度,確保技術信息的準確性,也保證了所有代碼都能正確運行。

Songlin Qiu是位出色的拓展編輯。本書行文清晰流暢之處,都要歸功于她在審稿時提供的許多寶貴建議。如果讀者發現文字有難懂之處,恐怕要怪我未采納其中某些建議。

本書付諸刊印,要感謝生產經理Julie Nahil與文字編輯Jill Hobbs的艱苦努力。我能不過多地分散精力,始終專注于本書的寫作并最終將其完成,很大程度上要歸功于他們。

Olivia Basegio身為助理編輯,做了許多工作。她將本書草稿交給合適的人員去審閱,并將其初步裁切。她也編排了本書的插圖與許可信息,并在我忘記事情時提醒我。沒有Olivia的幫助,我們只能看到一些零碎的資料,而不可能有一本完整的書呈現在眼前。

這里無法詳盡地列出在遇到困難時鼓勵我的每位朋友與家人的名字。我要特別感謝女兒Allison Jackson和Katie Kehrl,她們一如既往的樂觀使我相信最終能完成此書,她們用自己的生活態度為我樹立了榜樣。

Susie Jackson,我的妻子,為我做的每件事情提供靈感,也包括寫這本書。她棒極了!能夠和她結婚我感到很幸運。她在生活中帶給我的自信與積極態度,讓我能夠坐在辦公室里努力創作。再次感謝你,Susie。
內容簡介:

開發優秀的Android手機游戲!
這是一本適合有一定Android開發基礎的讀者快速而系統地學習Android游戲開發的經典教程,全書通過一個完整的經典游戲案例講解了Android游戲開發所必須掌握的理論知識,以及其流程、方法和技巧,旨在幫助讀者開發出優秀的游戲產品。書中對各種主要類型的手機游戲進行了剖析,并給出了翔實的案例代碼,讀者能從中迅速獲得實戰經驗。
值得強調的是,本書以AndEngine開源引擎為基礎,將游戲制作中的諸多話題巧妙地串聯起來,使讀者在閱讀過程中系統地學習場景、圖層、圖形繪制、精靈、動畫、文本繪制、用戶輸入、地圖、粒子系統、物理效果、人工智能、碰撞檢測、計分等開發手機游戲所必備的技能。同時,作者投入大量篇幅用于講述制作關卡、美工與聲音所需的各種工具及其用法,讀者可以借此了解到策劃、美工與聲音制作的具體流程,從而對手機游戲各項元素的整合有一個全局的把握。
此外,本書演示了《少女大戰吸血鬼》(Virgins Versus Vampires,簡稱V3)的實現過程,你可以從Android Market下載免費的《Virgins Versus Vampires》 游戲,本書將會教你如何開發這個游戲。

通過閱讀本書,可學到以下知識:
使用免費的Android代碼編寫工具、圖片編輯工具以及聲音制作工具

實現Android游戲的核心部分:游戲主邏輯循環

運用場景切換效果與實體修改器將游戲變得更加生動活潑

制作位圖與矢量圖,制作精靈與動畫效果

將觸摸、多點觸摸、鍵盤、語音識別、加速度計、定位器及羅盤等用戶輸入手段集成到游戲中

使用瓦片地圖構建虛擬的游戲世界

創建、保存并復用各種功能強大的粒子效果

搜尋、獲取、修改與使用背景音樂及音效

用Box2D實現逼真的物理效果模擬

使用AI技術將游戲變得更加靈活、更加有趣

構建根據游戲間元素的互相碰撞而計分的程序框架
目錄:

譯者序



前言

第1章 手機游戲 / 1

1.1 手機游戲市場 / 2

1.2 電腦游戲的世界 / 3

1.2.1 游戲類型 / 3

1.2.2 適合于手機的游戲 / 5

1.2.3 典型的游戲組件 / 6

1.2.4 《少女大戰吸血鬼》 / 8

1.2.5 V3的設計 / 9

1.3 AndEngine范例 / 11

1.4 總結 / 12

1.5 習題 / 12

第2章 游戲要素與工具 / 14

2.1 軟件開發工具 / 15

2.1.1 Android SDK / 15

2.1.2 AndEngine游戲引擎庫 / 16

2.1.3 AndEngine游戲概念 / 17

2.1.4 Box2D物理引擎 / 19

2.2 圖形工具 / 19

2.2.1 矢量圖工具:Inkscape / 20

2.2.2 位圖工具:GIMP / 21

2.2.3 動畫捕捉:AnimGet / 22

2.2.4 瓦片地圖創建工具:Tiled / 23

2.2.5 TrueType字體創建與編輯工具:FontStruct / 23

2.3 聲音工具 / 24

2.3.1 音效工具:Audacity / 24

2.3.2 背景音樂工具:MuseScore / 25

2.4 初試身手:制作啟動畫面 / 26

2.4.1 創建游戲項目 / 27

2.4.2 加入AndEngine庫 / 27

2.4.3 加入啟動畫面代碼 / 28

2.4.4 用模擬器運行游戲 / 30

2.4.5 用Android設備運行游戲 / 31

2.5 總結 / 31

2.6 習題 / 32

第3章 游戲循環與菜單 / 33

3.1 游戲循環概述 / 34

3.2 AndEngine的游戲循環 / 35

3.2.1 初始化Engine對象 / 35

3.2.2 其他Engine類 / 36

3.3 為V3增加菜單屏幕 / 37

3.3.1 AndEngine的菜單 / 37

3.3.2 構建V3的開始菜單 / 40

3.3.3 創建菜單 / 40

3.3.4 MainMenuActivity類 / 45

3.3.5 常數與字段 / 46

3.3.6 onLoadResources()方法 / 46

3.3.7 onLoadScene()方法 / 46

3.3.8 createStaticMenuScene()方法與createPopUpScene()方法 / 46

3.3.9 onKeyDown()方法與onMenuItemClicked()方法 / 47

3.3.10 從啟動畫面切換到菜單 / 47

3.4 內存使用 / 50

3.5 “退出”選項 / 50

3.6 總結 / 50

3.7 習題 / 51

第4章 場景、圖層、場景切換與實體修改器 / 52

4.1 AndEngine的場景 / 53

4.1.1 實體/組件模型 / 53

4.1.2 Entity類 / 54

4.1.3 構造器 / 54

4.1.4 Entity類的位置相關方法 / 55

4.1.5 Entity類的縮放相關方法 / 55

4.1.6 Entity類的顏色相關方法 / 56

4.1.7 Entity類的旋轉相關方法 / 57

4.1.8 管理子對象 / 57

4.1.9 管理Modifier / 58

4.1.10 其他有用的Entity類方法 / 58

4.1.11 Layer類 / 59

4.1.12 Scene類 / 59

4.1.13 背景管理 / 60

4.1.14 子Scene對象管理 / 60

4.1.15 Layer對象管理 / 61

4.1.16 上級Scene對象管理 / 61

4.1.17 觸摸區域管理 / 61

4.1.18 特殊Scene類 / 61

4.1.19 用于Entity的Modifier類 / 62

4.1.20 EntityModifier類的通用方法 / 63

4.1.21 位置相關的EntityModifier類 / 63

4.1.22 縮放相關的EntityModifier類 / 66

4.1.23 顏色相關的EntityModifier類 / 67

4.1.24 旋轉相關的EntityModifier類 / 67

4.1.25 透明度相關的EntityModifier類 / 68

4.1.26 延遲相關的EntityModifier類 / 69

4.1.27 Modifier的組合 / 69

4.1.28 EaseFunction / 71

4.2 創建游戲第1關的場景 / 79

4.3 總結 / 84

4.4 習題 / 85

第5章 繪制與精靈 / 86

5.1 快速回顧Entity類 / 87

5.2 繪制線條與矩形 / 88

5.2.1 線條 / 88

5.2.2 矩形 / 88

5.3 精靈 / 88

5.3.1 貼圖 / 89

5.3.2 效率問題 / 99

5.3.3 復合精靈 / 100

5.4 總結 / 104

5.5 習題 / 105

第6章 動畫 / 106

6.1 動畫所需素材 / 107

6.2 動畫的瓦片貼圖 / 108

6.3 AndEngine的動畫 / 108

6.4 動畫范例 / 110

6.5 將動畫加入Level1Activity類 / 114

6.6 動畫制作的問題 / 122

6.7 高級話題:從3D模型中制作2D動畫 / 123

6.8 總結 / 123

6.9 習題 / 123

第7章 文本 / 125

7.1 字型與字體 / 126

7.2 載入字型 / 127

7.2.1 Font類 / 127

7.2.2 StrokeFont類 / 127

7.2.3 FontFactory類 / 128

7.2.4 FontManager類 / 128

7.2.5 Typeface類 / 128

7.3 AndEngine中的文本 / 129

7.3.1 AndEngine中的文本API / 129

7.3.2 桌面通知 / 132

7.4 定制字型 / 133

7.5 將定制字型加入V3 / 135

7.6 總結 / 142

7.7 習題 / 142

第8章 用戶輸入 / 144

8.1 Android與AndEngine的輸入方式 / 145

8.1.1 字母鍵盤與袖珍鍵盤 / 146

8.1.2 觸摸 / 146

8.1.3 自定義手勢 / 152

8.1.4 屏幕游戲手柄 / 152

8.1.5 加速計 / 153

8.1.6 位置和方向 / 153

8.1.7 語音 / 158

8.2 將用戶輸入加入V3 / 161

8.3 總結 / 166

8.4 習題 / 166

第9章 瓦片地圖 / 168

9.1 為何使用瓦片地圖 / 169

9.2 瓦片地圖的類型 / 169

9.2.1 正交瓦片地圖 / 171

9.2.2 等距投影瓦片地圖 / 171

9.3 瓦片地圖的結構 / 172

9.4 AndEngine中的瓦片地圖 / 172

9.4.1 TMX與TSX文件 / 172

9.4.2 TMXLoader類 / 172

9.4.3 TMXTiledMap類 / 173

9.4.4 TMXLayer類 / 174

9.4.5 TMXTile類 / 174

9.5 瓦片編輯器:Tiled / 175

9.6 TMX文件 / 176

9.7 正交瓦片地圖游戲:《打吸血鬼》 / 177

9.7.1 WAV的瓦片地圖 / 177

9.7.2 創建WAV的瓦片集 / 178

9.7.3 創建WAV的瓦片地圖 / 179

9.7.4 《打吸血鬼》游戲的代碼 / 181

9.8 等距投影瓦片地圖 / 191

9.9 總結 / 191

9.10 習題 / 192

第10章 粒子系統 / 193

10.1 粒子發射器是什么 / 194

10.2 粒子系統如何運作 / 195

10.3 AndEngine的粒子系統 / 195

10.3.1 ParticleSystem類 / 196

10.3.2 ParticleEmitter類 / 197

10.3.3 ParticleInitializer類 / 198

10.3.4 ParticleModifier類 / 199

10.3.5 有用的ParticleSystem類方法 / 200

10.4 創建粒子系統 / 201

10.4.1 以傳統方式創建粒子系統 / 201

10.4.2 以XML文件創建粒子系統 / 202

10.5 將粒子發射器加入V3游戲中 / 206

10.5.1 以傳統方式制作V3的爆炸效果 / 206

10.5.2 以XML文件方式制作V3的爆炸效果 / 210

10.6 總結 / 211

10.7 習題 / 211

第11章 聲音 / 213

11.1 如何在游戲中使用聲音 / 214

11.1.1 音樂 / 214

11.1.2 音效 / 214

11.2 音樂與音效的來源 / 215

11.3 音樂與音效制作工具 / 216

11.4 音頻解碼器 / 216

11.5 使用AndEngine播放聲音 / 217

11.5.1 Music類 / 218

11.5.2 Sound類 / 218

11.5.3 MusicFactory類 / 219

11.5.4 SoundFactory類 / 219

11.6 將聲音加入V3游戲 / 220

11.6.1 創建音效 / 220

11.6.2 創建背景音樂 / 223

11.6.3 修改V3游戲的代碼 / 225

11.7 總結 / 235

11.8 習題 / 236

第12章 物理效果 / 237

12.1 Box2D物理引擎 / 238

12.1.1 Box2D概念 / 238

12.1.2 設定Box2D / 240

12.2 構建物理學游戲的關卡 / 241

12.3 AndEngine與Box2D / 242

12.3.1 下載AndEnginePhysicsBox2DExtension并將其加入游戲項目 / 242

12.3.2 Box2D的API / 244

12.3.3 簡單的物理效果范例 / 247

12.3.4 關卡加載 / 252

12.4 《憤怒的村民》:V3中的物理學小游戲 / 255

12.5 實現IV游戲 / 255

12.5.1 創建關卡 / 256

12.5.2 編寫IVActivity.java / 260

12.6 總結 / 270

12.7 習題 / 270

第13章 人工智能 / 272

13.1 游戲AI相關話題 / 273

13.1.1 簡單的腳本 / 273

13.1.2 決策樹、Minimax樹與狀態機 / 273

13.1.3 專家系統或基于規則的決策系統 / 276

13.1.4 神經網絡 / 277

13.1.5 遺傳算法 / 278

13.1.6 路徑查找 / 279

13.1.7 動態困難度調節 / 280

13.1.8 程序化的音樂生成 / 280

13.2 實現V3游戲的AI / 281

13.3 總結 / 290

13.4 習題 / 290

第14章 計分與碰撞 / 291

14.1 計分系統設計 / 292

14.1.1 更新小游戲取得的分數 / 293

14.1.2 記錄5個最高分 / 293

14.1.3 在小游戲場景中顯示分數 / 294

14.1.4 分數頁面的顯示 / 295

14.2 AndEngine的碰撞 / 298

14.2.1 AndEngine的Shape碰撞 / 298

14.2.2 Box2D的碰撞 / 299

14.3 開始計算玩家的得分 / 300

14.4 《墓地》(第1關)場景 / 300

14.4.1 常量和字段 / 300

14.4.2 onLoadEngine方法與onLoadResources方法 / 303

14.4.3 onLoadScene方法 / 304

14.4.4 mStartVamp任務 / 306

14.5 《打吸血鬼》 / 307

14.5.1 常量和字段 / 307

14.5.2 onLoadScene方法 / 308

14.5.3 openCoffin和closeCoffin方法 / 309

14.6 《憤怒的村民》 / 310

14.6.1 常量和字段 / 310

14.6.2 onLoadScene方法 / 311

14.6.3 onLoadComplete方法 / 312

14.6.4 addStake方法 / 313

14.7 總結 / 314

14.8 習題 / 314

第15章 多媒體擴展包 / 315

15.1 下載多媒體擴展包 / 316

15.2 動態壁紙 / 317

15.2.1 Android動態壁紙 / 317

15.2.2 創建V3的Android動態壁紙 / 318

15.3 MOD格式音樂 / 322

15.3.1 搜尋MOD格式的音樂 / 322

15.3.2 XMP MOD播放器 / 323

15.4 多人游戲 / 324

15.5 AndEngine的多點觸摸 / 326

15.6 增強現實游戲 / 328

15.7 總結 / 332

15.8 習題 / 332

第16章 游戲集成 / 334

16.1 困難度調節 / 336

16.1.1 困難度參數的保存 / 336

16.1.2 困難度參數的設定 / 337

16.2 游戲結束畫面的代碼 / 337

16.3 第1關:主游戲 / 340

16.4 《打吸血鬼》 / 345

16.5 《憤怒的村民》 / 347

16.6 選項菜單 / 350

16.7 總結 / 350

16.8 習題 / 350

第17章 測試與發行 / 352

17.1 應用程序商業模式 / 353

17.2 測試與發行準備工作 / 354

17.2.1 在實際設備上測試游戲 / 354

17.2.2 考慮加入終端用戶許可協議 / 355

17.2.3 向Manifest文件加入圖標與標簽 / 357

17.2.4 關閉記錄與調試功能 / 357

17.2.5 在游戲中增加版本號 / 357

17.2.6 獲取密鑰 / 358

17.2.7 編譯與簽名最終的.apk文件 / 359

17.2.8 測試最終的.apk文件 / 359

17.3 發行游戲 / 360

17.3.1 Android Market / 360

17.3.2 Amazon App Store / 362

17.4 推廣游戲 / 363

17.4.1 App Store推廣 / 364

17.4.2 游戲評論網站推廣 / 366

17.4.3 手機廣告 / 366

17.4.4 口碑營銷 / 367

17.4.5 社交網絡推廣 / 367

17.5 總結 / 367

附錄 習題解答 / 369
序: