libGDX移動游戲開發從入門到精通( 簡體 字) | |
作者:黃俊東 | 類別:1. -> 遊戲 -> 遊戲程式 |
出版社:人民郵電出版社 | 3dWoo書號: 43198 詢問書籍請說出此書號! 有庫存 NT售價: 245 元 |
出版日:1/1/2016 | |
頁數:289 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115407993 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 libGDX簡介 1
1.1 libGDX介紹 1 1.1.1 libGDX的特點 1 1.1.2 libGDX中的工具 3 1.1.3 libGDX的歷史 5 1.1.4 我的libGDX版本 5 1.2 搭建libGDX開發環境 5 1.2.1 libGDX下載 6 1.2.2 Android項目的新建 7 1.2.3 libGDX的安裝 9 1.3 開始第一個libGDX游戲 11 1.3.1 第一個HelloWorld程序的編寫 11 1.3.2 在Android設備上調試 15 1.3.3 桌面調試環境的搭建 17 1.3.4 HelloWorld程序的簡單分析 22 1.4 運行libGDX的官方Demo 23 1.4.1 libGDX的官網 23 1.4.2 Demo的下載演示 24 1.5 其他的一些準備工作 25 1.5.1 關聯Android源碼 25 1.5.2 libGDX源碼的關聯 28 1.5.3 直接打開.jar文件的配置 30 第2章 libGDX的架構分析 34 2.1 生命周期 34 2.1.1 libGDX中生命周期的圖示 34 2.1.2 生命周期中各個函數的分析 35 2.1.3 實例:通過例子深刻理解生命 周期 35 2.2 模塊 38 2.2.1 libGDX模塊組成的圖示 38 2.2.2 libGDX模塊的分析 39 2.3 運行環境的相關查詢 40 2.3.1 獲取目前的運行環境 40 2.3.2 獲取內存的消耗情況 41 2.4 日志工具 41 2.4.1 Android中的日志等級及輸出方法 41 2.4.2 libGDX中的日志等級及輸出方法 42 2.4.3 一種方便的輸出日志的方法 44 第3章 數據存儲 45 3.1 簡介 45 3.2 Android中SharedPreferences的使用 45 3.2.1 獲得一個SharedPreferences對象 46 3.2.2 從SharedPreferences獲取數據 46 3.2.3 往SharedPreferences 保存數據 46 3.2.4 實例:使用Android中的 SharedPreferences來實現 存取數據 47 3.3 libGDX對SharedPreferences的支持 49 3.3.1 獲得一個SharedPreferences數據 49 3.3.2 從SharedPreferences獲取數據 49 3.3.3 往SharedPreferences保存數據 49 3.3.4 實例:使用libGDX對 SharedPreferences的支持 來實現數據的存取 50 3.4 Android中操作XML形式的數據 51 3.4.1 XML的定義 51 3.4.2 XML的優缺點 52 3.4.3 Android中使用DOM來解析 XML形式的數據 52 3.4.4 Android中使用DOM來生成 XML形式的數據 55 3.4.5 Android中使用SAX來解析 XML形式的數據 58 3.4.6 Android中使用SAX來生成 XML形式的數據 61 3.4.7 Android中使用PULL來解析 XML形式的數據 64 3.4.8 Android中使用PULL來生成 XML形式的數據 67 3.5 libGDX對XML的支持 70 3.5.1 使用libGDX中的接口將生成 XML形式的數據 70 3.5.2 使用libGDX中的接口解析 XML形式的數據 72 3.6 Android中操作JSON格式的數據 74 3.6.1 JSON的定義 74 3.6.2 JSON的優缺點 74 3.6.3 Android中JSON的原始解析 方法 75 3.6.4 Android中JSON的原始生成 方法 78 3.6.5 Android中使用Gson來解析 JSON形式的數據 79 3.6.6 Android中使用Gson來生成 JSON形式的數據 80 3.6.7 Android中使用FastJson來解析 JSON形式的數據 81 3.6.8 Android中使用FastJson來生成 JSON形式的數據 83 3.6.9 以上3種操作JSON格式數據的 方法的簡單比較 83 3.7 libGDX中對JSON格式數據的支持 83 3.7.1 使用libGDX中的API生成 JSON形式的數據 83 3.7.2 使用libGDX中的API解析 JSON形式的數據 86 3.8 XML與JSON的簡單比較 86 3.8.1 關于輕量級和重量級 86 3.8.2 關于數據格式編碼及解析難度 87 3.9 libGDX中的文件處理 87 3.9.1 幾種文件存儲路徑 88 3.9.2 檢查存儲路徑是否可用 88 3.9.3 獲得一個FileHandle實例 89 3.9.4 對FileHandle的常見操作 89 3.9.5 讀取文件 90 3.9.6 寫文件 90 3.9.7 使用FileHandle來刪除、拷貝、 移動、重命名文件 90 第4章 libGDX中的UI編程 92 4.1 繪制的基礎—SpriteBatch類的介紹 92 4.1.1 SpriteBatch的功能 92 4.1.2 基本API 92 4.2 中文字符的顯示—hiero工具的 介紹與基本使用 92 4.2.1 hiero工具的下載 93 4.2.2 hiero的功能界面剖析 93 4.2.3 利用hiero生成程序中要用的 字體文件 94 4.3 文本信息的顯示—BitmapFont類的 基本使用 95 4.3.1 BitmapFont的功能 95 4.3.2 基本API 95 4.3.3 實例:使用BitmapFont來顯示 一段文本信息 95 4.4 自定義的中文字體的顯示 —TTF字庫的介紹與使用 97 4.4.1 功能 97 4.4.2 基本API 97 4.4.3 使用優美字體前的準備 98 4.4.4 實例:顯示一段帥氣的文本 98 4.5 圖片的顯示(1)—Texture類的介紹 及基本使用 100 4.5.1 功能 100 4.5.2 基本API 100 4.5.3 實例:使用SpriteBatch和Texture 在屏幕中顯示一張圖片 101 4.6 圖片的顯示(2)—TextureRegion 類的介紹與基本使用 103 4.6.1 功能 103 4.6.2 基本API 103 4.6.3 實例:使用SpriteBatch和 TextureRegion在屏幕中顯示 一張圖片 104 4.7 圖片的顯示(3)—Sprite類的介紹 與基本使用 105 4.7.1 功能 105 4.7.2 基本API 105 4.7.3 實例:旋轉的精靈 106 4.8 libGDX中的合圖(1)—合圖工具 TexturePacker 的介紹與基本使用 107 4.8.1 TexturePacker的下載 108 4.8.2 TexturePacker功能界面剖析 108 4.8.3 利用TexturePacker進行合圖 109 4.9 libGDX中的合圖(2)—TextureAtlas 類的介紹與基本使用 111 4.9.1 功能 111 4.9.2 基本API 111 4.9.3 實例:使用TextureAtlas后的 圖片的使用 111 4.10 自定義動畫—Animation類的介紹 與基本使用 113 4.10.1 功能 113 4.10.2 基本API 113 4.10.3 實例:奔跑的小人 114 4.11 libGDX中的粒子編輯器(1) —Particle-Editor的介紹與基本使用 116 4.11.1 下載 116 4.11.2 功能界面剖析 117 4.11.3 利用粒子編輯器生成相應文件 118 4.12 libGDX中的粒子編輯器(2) —ParticleEffect類的介紹與基本 使用 119 4.12.1 功能 119 4.12.2 基本API 119 4.12.3 實例:類似于微信的煙火效果 119 第5章 libGDX中的常見UI組件 122 5.1 演員與舞臺的簡單介紹 122 5.2 文本信息的顯示—Label、LabelStyle類的介紹與基本使用 122 5.2.1 功能 122 5.2.2 基本API 122 5.2.3 實例:用Label顯示一段文本 信息 123 5.3 圖片的顯示—Image類的介紹與 基本使用 124 5.3.1 功能 124 5.3.2 基本API 125 5.3.3 實例:實現一個“旋轉的飛機” 125 5.4 Image生成的另外一種方式—Pixmap 類的介紹與基本使用 126 5.4.1 功能 127 5.4.2 基本API 127 5.4.3 實例:使用Pixmap來畫多種 幾何圖形 127 5.4.4 實例:使用Pixmap來生成 涂抹功能 129 5.4.5 Pixmap在使用時需要注意的 問題—白屏問題 133 5.5 圖片翻轉的兩種方式 134 5.5.1 圖片翻轉的第一種方式— 使用TextureRegion的flip( ) 134 5.5.2 圖片翻轉的第二種方式— 通過SpriteBatch的draw()方法 135 5.6 滾動條—ScrollPane的介紹與基本 使用 137 5.6.1 功能 137 5.6.2 基本API 137 5.6.3 實例:使用ScrollPane實現一個 選關界面 137 5.7 游戲中的背景移動 139 5.7.1 原理分析 139 5.7.2 實現天天打飛機中的“背景 移動” 141 5.8 演員的常見動畫的介紹與基本使用 143 5.8.1 旋轉動畫—rotateTo與rotateBy 144 5.8.2 位移動畫—moveTo與moveBy 144 5.8.3 透明度漸變動畫—fadeIn() 與fadeOut() 145 5.8.4 縮放動畫—scaleTo()與scaleBy() 145 5.8.5 組合動畫—順序動畫與并行 動畫 145 5.8.6 實例:Tween動畫的綜合例子 146 5.9 按鈕—Button類的介紹與基本使用 148 5.9.1 功能 148 5.9.2 基本API 148 5.9.3 實例:使用Button來控制一個 loading圖片 149 5.10 游戲搖桿—TouchPad的介紹與 基本使用 153 5.10.1 功能 153 5.10.2 基本API 154 5.10.3 實例:使用游戲搖桿控制 游戲元素 155 5.11 滑塊—Slider的介紹與基本使用 159 5.11.1 功能 159 5.11.2 基本API 160 5.11.3 實例:使用滑塊Slider來控制 游戲元素的縮放 161 5.12 分割窗口—SplitPane的介紹與 基本使用 165 5.12.1 功能 166 5.12.2 基本API 166 5.12.3 實例:使用分割窗口SplitPane 來實現一個分割窗口 167 5.13 復選框—CheckBox的介紹與基本 使用 170 5.13.1 功能 171 5.13.2 基本API 171 5.13.3 實例:使用復選框CheckBox 來控制畫面的切換 172 5.14 列表—List的介紹與基本使用 176 5.14.1 功能 176 5.14.2 基本API 177 5.14.3 實例:使用列表List來顯示 內容 178 5.15 文本輸入框—TextField的介紹與 基本使用 181 5.15.1 功能 181 5.15.2 基本API 181 5.15.3 實例:使用文本輸入框TextField 來實現文本信息的輸入 183 第6章 libGDX中的事件處理與音效 188 6.1 InputProcessor的介紹與基本使用 188 6.1.1 InputMultiplexer的介紹與基本 使用 189 6.1.2 實例:使用按鈕來操控滾動條 190 6.2 振動器的介紹與使用 192 6.2.1 準備工作—添加相應的權限 192 6.2.2 基本API 193 6.2.3 實例:按按鈕觸發振動 193 6.3 back鍵和menu鍵的捕捉 194 6.4 短音頻文件的處理—Sound類的介紹 與基本使用 195 6.4.1 功能 195 6.4.2 基本API 195 6.4.3 實例:給按鈕添加單擊聲音 195 6.5 長音頻文件的處理—Music類的介紹 與基本使用 196 6.5.1 功能 197 6.5.2 基本API 197 6.5.3 實例:單擊某一個按鈕播放音樂 197 第7章 資源加載器、游戲界面的跳轉以及 物理引擎 199 7.1 資源加載器—AssetManager類的介紹 與基本使用 199 7.1.1 功能 199 7.1.2 基本API 200 7.1.3 實例:游戲中的loading界面 第一部分 200 7.1.4 實例:游戲中的loading界面 第二部分 203 7.2 游戲界面的跳轉 204 7.2.1 第一種方式—隱藏其中一個, 顯示另外一個 204 7.2.2 第二種方式—setScreen() 206 7.3 libGDX中的物理引擎—Box2D 基礎 209 7.3.1 基礎類概覽 209 7.3.2 基礎類的詳細介紹 210 7.3.3 實例:下降的小球與磚塊 213 第8章 libGDX中的UI編輯器 216 8.1 讓CocosStudio成為libGDX的UI 編輯器 216 8.2 CocosStudio的UI編輯器的基本 使用 217 8.2.1 新建項目 217 8.2.2 調整屏幕大小 218 8.2.3 導入資源 219 8.2.4 擺放素材 219 8.2.5 設置元素屬性 220 8.2.6 修改元素的名字 221 8.2.7 保存項目 221 8.3 解析CocosStudio的UI文件 221 8.3.1 找到數據文件 221 8.3.2 簡單分析數據文件 222 8.3.3 編寫代碼解析JSON文件 223 8.3.4 CocosStudio解析工具類的基本 用法 228 8.3.5 讓CocosStudio UI編輯器的數據 在libGDX中完美運行 229 8.4 CocosStudio生成的JSON文件中的 隱患及解決方案 231 8.4.1 隱患分析 231 8.4.2 解決方案 231 第9章 小游戲實戰—撿金幣 232 9.1 游戲的感性認識 232 9.1.1 游戲運行效果圖 232 9.1.2 組成分析 233 9.2 金幣、背景的實現的原理分析 233 9.3 游戲成就的原理分析及游戲中的 碰撞檢測 233 9.3.1 檢測的簡單介紹 234 9.3.2 游戲成就的原理分析 234 9.4 成功界面與失敗界面的原理分析 234 9.5 剩余時間的原理分析 235 9.6 代碼實現 235 9.6.1 金幣(Jinbi) 邏輯體的實現 235 9.6.2 工具類(Utils)的實現 237 9.6.3 背景(BgImage)邏輯體的實現 237 9.6.4 游戲主邏輯體MyGame 239 9.6.5 Android與libGDX交互類 MainActivity的編寫 244 第10章 休閑類游戲—2048 245 10.1 2048的由來及功能概述 245 10.1.1 2048的由來 245 10.1.2 功能簡介 245 10.2 游戲的策劃及準備工作 247 10.2.1 游戲的策劃 247 10.2.2 Android平臺下游戲的準備工作 247 10.3 游戲的架構 248 10.3.1 游戲中用到的主要技術 248 10.3.2 各類的簡要介紹 248 10.3.3 游戲的框架簡介 249 10.3.4 游戲中核心邏輯的幾個要點 250 10.4 游戲程序入口的設計與實現 251 10.4.1 MainActivity的實現 251 10.4.2 MyGame類的實現 252 10.5 游戲主界面GameScreen的設計與 實現 253 10.5.1 游戲主界面的框架設計 253 10.5.2 游戲主界面GameScreen的 實現 257 10.6 游戲中所涉及的各個邏輯體 270 10.6.1 資源管理類Assets的設計 270 10.6.2 資源管理類Assets的實現 271 10.6.3 游戲中的常量類Contants 272 10.6.4 游戲中分數邏輯體Score類的 設計與實現 273 10.6.5 每種分值對應的顏色的邏輯體 Square的設計 274 10.6.6 Square類的實現 275 10.6.7 分數格子邏輯體Cell類的設計 279 10.6.8 分數格子邏輯體Cell類的實現 280 10.6.9 數據存儲與恢復邏輯體Prefs 的設計 285 10.6.10 數據存儲與恢復邏輯體Prefs 的實現 285 10.7 游戲的優化與改進 289 隨著移動互聯網的快速發展,移動端的游戲開發已經成為發展迅速、市場潛力巨大、前景誘人的開發方向。作為一種游戲引擎,libGDX讓更多夢想加入游戲開發的人圓夢。本書全面介紹了使用libGDX進行游戲開發時所需要用到的知識,其中包括libGDX的詳細介紹、libGDX的UI編程、libGDX的配套開發工具、libGDX 中所遇到的一些問題的解決方案。
本書并不局限于介紹libGDX編程的各種理論知識,而是從“項目驅動”的角度來講授理論,全書給出了豐富的實例,這些示范性的實例既可幫助讀者更好地理解各知識點在實際開發中的應用,也可供讀者在實際開發時作為參考。本書還提供了兩個實用的案例:撿金幣項目和2048項目,具有很高的參考價值。 本書實用性強,內容詳細,不僅適合有一定經驗的開發者,對于那些沒有經驗的開發者來說,也是一本很好的入門指南。 |