基本信息
作者:(美)Rick Rogers 著ISBN(書號):978-7-111-39154-8
出版日期:2012-09
版次:1/1
開本:16
定價:¥79.00
內容簡介
開發優秀的Android手機遊戲!這是一本適合有一定Android開發基礎的讀者快速而系統地學習Android遊戲開發的經典教程,全書通過一個完整的經典遊戲案例講解了Android遊戲開發所必須掌握的理論知識,以及其流程、方法和技巧,旨在幫助讀者開發出優秀的遊戲產品。書中對各種主要類型的手機遊戲進行了剖析,並給出了翔實的案例代碼,讀者能從中迅速獲得實戰經驗。
值得強調的是,本書以AndEngine開源引擎為基礎,將遊戲製作中的諸多話題巧妙地串聯起來,使讀者在閱讀過程中系統地學習場景、圖層、圖形繪製、精靈、動畫、文本繪製、用戶輸入、地圖、粒子系統、物理效果、人工智慧、碰撞檢測、計分等開發手機遊戲所必備的技能。同時,作者投入大量篇幅用於講述製作關卡、美工與聲音所需的各種工具及其用法,讀者可以藉此了解到策劃、美工與聲音製作的具體流程,從而對手機遊戲各項元素的整合有一個全局的把握。
此外,本書演示了《少女大戰吸血鬼》(Virgins Versus Vampires,簡稱V3)的實現過程,你可以從Android Market下載免費的《Virgins Versus Vampires》 遊戲,本書將會教你如何開發這個遊戲。
通過閱讀本書,可學到以下知識:
使用免費的Android代碼編寫工具、圖片編輯工具以及聲音製作工具
實現Android遊戲的核心部分:遊戲主邏輯循環
運用場景切換效果與實體修改器將遊戲變得更加生動活潑
製作點陣圖與矢量圖,製作精靈與動畫效果
將觸摸、多點觸摸、鍵盤、語音識別、加速度計、定位器及羅盤等用戶輸入手段集成到遊戲中
使用瓦片地圖構建虛擬的遊戲世界
創建、保存並復用各種功能強大的粒子效果
搜尋、獲取、修改與使用背景音樂及音效
用Box2D實現逼真的物理效果模擬
使用AI技術將遊戲變得更加靈活、更加有趣
構建根據遊戲間元素的互相碰撞而計分的程式框架
譯者簡介
愛飛翔 資深Android開發工程師和遊戲開發工程師,有10餘年開發經驗,曾主導和參與了多個手機遊戲和手機軟體項目的開發,經驗十分豐富。他是手機軟體開發引擎AgileMobileEngine的創始人兼項目經理,同時也是CatEngine手機目錄
譯者序序
前言
第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
......