libGDX移動遊戲開發從入門到精通 libGDX移动游戏开发从入门到精通(异步图书) (游戏设计与开发)
黃俊東
- 出版商: 人民郵電
- 出版日期: 2016-01-01
- 定價: $294
- 售價: 8.5 折 $250
- 語言: 簡體中文
- 頁數: 289
- ISBN: 7115407991
- ISBN-13: 9787115407993
-
相關分類:
遊戲設計 Game-design
已絕版
買這商品的人也買了...
-
$480$379 -
$650$585 -
$790$672 -
$580$452 -
$653Cisco 防火牆 (Cisco Firewalls)
-
$580$493 -
$354$336 -
$580$493 -
$680$510 -
$360$306 -
$403PaaS實現與運維管理(基於Mesos+Docker+ELK的實戰指南)
-
$352用友 ERP 財務管理從入門到精通
-
$301有效的單元測試 (Effective Unit Testing: A guide for Java Developers)
-
$354$336 -
$550$435 -
$580$493 -
$500$425 -
$580$493 -
$480$408 -
$199$100 -
$560$476 -
$580$452 -
$500$390 -
$880$695 -
$450$356
商品描述
<內容提要>
隨著移動因特網的快速發展,移動端的遊戲開發已經成為發展迅速、市場潛力巨大、前景誘人的開發方向。作為一種遊戲引擎,libGDX讓更多夢想加入遊戲開發的人圓夢。本書全面介紹了使用libGDX進行遊戲開發時所需要用到的知識,其中包括libGDX的詳細介紹、libGDX的UI編程、libGDX的配套開發工具、libGDX中所遇到的一些問題的解決方案。
本書並不局限於介紹libGDX編程的各種理論知識,而是從“項目驅動”的角度來講授理論,全書給出了豐富的實例,這些示範性的實例既可幫助讀者更好地理解各知識點在實際開發中的應用,也可供讀者在實際開發時作為參考。本書還提供了兩個實用的案例:撿金幣項目和2048項目,具有很高的參考價值。
本書實用性強,內容詳細,不僅適合有一定經驗的開發者,對於那些沒有經驗的開發者來說,也是一本很好的入門指南。
<目錄>
第1章libGDX簡介t1
1.1 libGDX介紹t1
1.1.1 libGDX的特點t1
1.1.2 libGDX中的工具t3
1.1.3 libGDX的歷史t5
1.1.4我的libGDX版本t5
1.2搭建libGDX開發環境t5
1.2.1 libGDX下載t6
1.2.2 Android項目的新建t7
1.2.3 libGDX的安裝t9
1.3開始個libGDX遊戲t11
1.3.1個HelloWorld程序的編寫t11
1.3.2在Android設備上調試t15
1.3.3桌面調試環境的搭建t17
1.3.4 HelloWorld程序的簡單分析t22
1.4運行libGDX的官方Demot23
1.4.1 libGDX的官網t23
1.4.2 Demo的下載演示t24
1.5其他的一些準備工作t25
1.5.1關聯Android源碼t25
1.5.2 libGDX源碼的關聯t28
1.5.3直接打開.jar文件的配置t30
第2章libGDX的架構分析t34
2.1生命週期t34
2.1.1 libGDX中生命週期的圖示t34
2.1.2生命週期中各個函數的分析t35
2.1.3實例:通過例子深刻理解生命
週期t35
2.2模塊t38
2.2.1 libGDX模塊組成的圖示t38
2.2.2 libGDX模塊的分析t39
2.3運行環境的相關查詢t40
2.3.1獲取目前的運行環境t40
2.3.2獲取內存的消耗情況t41
2.4日誌工具t41
2.4.1 Android中的日誌等級及輸出方法t41
2.4.2 libGDX中的日誌等級及輸出方法t42
2.4.3一種方便的輸出日誌的方法t44
第3章數據存儲t45
3.1簡介t45
3.2 Android中SharedPreferences的使用t45
3.2.1獲得一個SharedPreferences對象t46
3.2.2從SharedPreferences獲取數據t46
3.2.3往SharedPreferences保存數據t46
3.2.4實例:使用Android中的
SharedPreferences來實現
存取數據t47
3.3 libGDX對SharedPreferences的支持t49
3.3.1獲得一個SharedPreferences數據t49
3.3.2從SharedPreferences獲取數據t49
3.3.3往SharedPreferences保存數據t49
3.3.4實例:使用libGDX對
SharedPreferences的支持
來實現數據的存取t50
3.4 Android中操作XML形式的數據t51
3.4.1 XML的定義t51
3.4.2 XML的優缺點t52
3.4.3 Android中使用DOM來解析
XML形式的數據t52
3.4.4 Android中使用DOM來生成
XML形式的數據t55
3.4.5 Android中使用SAX來解析
XML形式的數據t58
3.4.6 Android中使用SAX來生成
XML形式的數據t61
3.4.7 Android中使用PULL來解析
XML形式的數據t64
3.4.8 Android中使用PULL來生成
XML形式的數據t67
3.5 libGDX對XML的支持t70
3.5.1使用libGDX中的接口將生成
XML形式的數據t70
3.5.2使用libGDX中的接口解析
XML形式的數據t72
3.6 Android中操作JSON格式的數據t74
3.6.1 JSON的定義t74
3.6.2 JSON的優缺點t74
3.6.3 Android中JSON的原始解析
方法t75
3.6.4 Android中JSON的原始生成
方法t78
3.6.5 Android中使用Gson來解析
JSON形式的數據t79
3.6.6 Android中使用Gson來生成
JSON形式的數據t80
3. 6.7 Android中使用FastJson來解析
JSON形式的數據t81
3.6.8 Android中使用FastJson來生成
JSON形式的數據t83
3.6.9以上3種操作JSON格式數據的
方法的簡單比較t83
3. 7 libGDX中對JSON格式數據的支持t83
3.7.1使用libGDX中的API生成
JSON形式的數據t83
3.7.2使用libGDX中的API解析
JSON形式的數據t86
3.8 XML與JSON的簡單比較t86
3.8.1關於輕量級和重量級t86
3.8.2關於數據格式編碼及解析難度t87
3.9 libGDX中的文件處理t87
3.9.1幾種文件存儲路徑t88
3. 9.2檢查存儲路徑是否可用t88
3.9.3獲得一個FileHandle實例t89
3.9.4對FileHandle的常見操作t89
3.9.5讀取文件t90
3.9.6寫文件t90
3.9 .7使用FileHandle來刪除、拷貝、
移動、重命名文件t90
第4章libGDX中的UI編程t92
4.1繪製的基礎—SpriteBatch類的介紹t92
4.1.1 SpriteBatch的功能t92
4.1.2基本APIt92
4.2中文字符的顯示—hiero工具的
介紹與基本使用t92
4.2.1 hiero工具的下載t93
4.2.2 hiero的功能界面剖析t93
4.2.3利用hiero生成程序中要用的
字體文件t94
4.3文本信息的顯示—BitmapFont類的
基本使用t95
4.3.1 BitmapFont的功能t95
4.3.2基本APIt95
4.3.3實例:使用BitmapFont來顯示
一段文本信息t95
4.4自定義的中文字體的顯示
—TTF字庫的介紹與使用t97
4.4.1功能t97
4.4.2基本APIt97
4.4.3使用優美字體前的準備t98
4.4.4實例:顯示一段帥氣的文本t98
4.5圖片的顯示(1)—Texture類的介紹
及基本使用t100
4.5.1功能t100
4.5.2基本APIt100
4.5.3實例:使用SpriteBatch和Texture
在屏幕中顯示一張圖片t101
4.6圖片的顯示(2)—TextureRegion
類的介紹與基本使用t103
4.6.1功能t103
4.6.2基本APIt103
4.6.3實例:使用SpriteBatch和
TextureRegion在屏幕中顯示
一張圖片t104
4.7圖片的顯示(3)—Sprite類的介紹
與基本使用t105
4.7.1功能t105
4.7.2基本APIt105
4.7.3實例:旋轉的精靈t106
4.8 libGDX中的合圖(1)—合圖工具
TexturePacker的介紹與基本使用t107
4.8.1 TexturePacker的下載t108
4.8.2 TexturePacker功能界面剖析t108
4.8.3利用TexturePacker進行合圖t109
4.9 libGDX中的合圖(2)—TextureAtlas
類的介紹與基本使用t111
4.9.1功能t111
4.9.2基本APIt111
4.9.3實例:使用TextureAtlas後的
圖片的使用t111
4.10自定義動畫—Animation類的介紹
與基本使用t113
4.10.1功能t113
4.10.2基本APIt113
4.10.3實例:奔跑的小人t114
4.11 libGDX中的粒子編輯器(1)
—Particle-Editor的介紹與基本使用t116
4.11.1下載t116
4.11.2功能界面剖析t117
4.11.3利用粒子編輯器生成相應文件t118
4.12 libGDX中的粒子編輯器(2)
—ParticleEffect類的介紹與基本
使用t119
4.12.1功能t119
4.12.2基本APIt119
4.12.3實例:類似於微信的煙火效果t119
第5章libGDX中的常見UI組件t122
5.1演員與舞臺的簡單介紹t122
5.2文本信息的顯示—Label、LabelStyle類的介紹與基本使用t122
5.2.1功能t122
5.2.2基本APIt122
5.2. 3實例:用Label顯示一段文本
信息t123
5.3圖片的顯示—Image類的介紹與
基本使用t124
5.3.1功能t124
5.3.2基本APIt125
5.3.3實例:實現一個“旋轉的飛機”t125
5.4 Image生成的另外一種方式—Pixmap
類的介紹與基本使用t126
5.4.1功能t127
5.4.2基本APIt127
5.4.3實例:使用Pixmap來畫多種
幾何圖形t127
5.4.4實例:使用Pixmap來生成
塗抹功能t129
5.4.5 Pixmap在使用時需要註意的
問題—白屏問題t133
5.5圖片翻轉的兩種方式t134
5.5.1圖片翻轉的種方式—
使用TextureRegion的flip( )t134
5.5.2圖片翻轉的第二種方式—
通過SpriteBatch的draw()方法t135
5.6滾動條—ScrollPane的介紹與基本
使用t137
5.6 .1功能t137
5.6.2基本APIt137
5.6.3實例:使用ScrollPane實現一個
選關界面t137
5.7遊戲中的背景移動t139
5.7.1原理分析t139
5.7.2實現天天打飛機中的“背景
移動”t141
5.8演員的常見動畫的介紹與基本使用t143
5.8.1旋轉動畫—rotateTo與rotateByt144
5.8.2位移動畫—moveTo與moveByt144
5.8.3透明度漸變動畫—fadeIn()
與fadeOut()t145
5.8.4縮放動畫—scaleTo()與scaleBy()t145
5.8.5組合動畫—順序動畫與並行
動畫t145
5.8.6實例:Tween動畫的綜合例子t146
5.9按鈕—Button類的介紹與基本使用t148
5.9.1功能t148
5.9.2基本APIt148
5.9.3實例:使用Button來控制一個
loading圖片t149
5.10遊戲搖桿—TouchPad的介紹與
基本使用t153
5.10.1功能t153
5.10.2基本APIt154
5.10.3實例:使用遊戲搖桿控制
遊戲元素t155
5.11滑塊—Slider的介紹與基本使用t159
5.11.1功能t159
5.11.2基本APIt160
5.11.3實例:使用滑塊Slider來控制
遊戲元素的縮放t161
5.12分割窗口—SplitPane的介紹與
基本使用t165
5.12 .1功能t166
5.12.2基本APIt166
5.12.3實例:使用分割窗口SplitPane
來實現一個分割窗口t167
5.13複選框—CheckBox的介紹與基本
使用t170
5.13.1功能t171
5 .13.2基本APIt171
5.13.3實例:使用複選框CheckBox
來控制畫面的切換t172
5.14列表—List的介紹與基本使用t176
5.14.1功能t176
5.14.2基本APIt177
5.14.3實例:使用列表List來顯示
內容t178
5.15文本輸入框—TextField的介紹與
基本使用t181
5.15.1功能t181
5.15.2基本APIt181
5.15.3實例:使用文本輸入框TextField
來實現文本信息的輸入t183
第6章libGDX中的事件處理與音效t188
6.1 InputProcessor的介紹與基本使用t188
6.1.1 InputMultiplexer的介紹與基本
使用t189
6.1.2實例:使用按鈕來操控滾動條t190
6.2振動器的介紹與使用t192
6.2.1準備工作—添加相應的權限t192
6.2.2基本APIt193
6.2.3實例:按按鈕觸發振動t193
6.3 back鍵和menu鍵的捕捉t194
6.4短音頻文件的處理—Sound類的介紹
與基本使用t195
6.4.1功能t195
6.4.2基本APIt195
6.4.3實例:給按鈕添加單擊聲音t195
6.5長音頻文件的處理—Music類的介紹
與基本使用t196
6.5.1功能t197
6.5.2基本APIt197
6.5.3實例:單擊某一個按鈕播放音樂t197
第7章資源加載器、遊戲界面的跳轉以及
物理引擎t199
7.1資源加載器—AssetManager類的介紹
與基本使用t199
7.1.1功能t199
7.1.2基本APIt200
7.1 .3實例:遊戲中的loading界面
部分t200
7.1.4實例:遊戲中的loading界面
第二部分t203
7.2遊戲界面的跳轉t204
7.2.1種方式—隱藏其中一個,
顯示另外一個t204
7.2.2第二種方式—setScreen()t206
7.3 libGDX中的物理引擎—Box2D
基礎t209
7.3.1基礎類概覽t209
7.3.2基礎類的詳細介紹t210
7. 3.3實例:下降的小球與磚塊t213
第8章libGDX中的UI編輯器t216
8.1讓CocosStudio成為libGDX的UI
編輯器t216
8.2 CocosStudio的UI編輯器的基本
使用t217
8.2 .1新建項目t217
8.2.2調整屏幕大小t218
8.2.3導入資源t219
8.2.4擺放素材t219
8.2.5設置元素屬性t220
8.2.6修改元素的名字t221
8.2.7保存項目t221
8.3解析CocosStudio的UI文件t221
8.3.1找到數據文件t221
8.3.2簡單分析數據文件t222
8.3.3編寫代碼解析JSON文件t223
8.3 .4 CocosStudio解析工具類的基本
用法t228
8.3.5讓CocosStudio UI編輯器的數據
在libGDX中完美運行t229
8.4 CocosStudio生成的JSON文件中的
隱患及解決方案t231
8.4.1隱患分析t231
8.4.2解決方案t231
第9章小遊戲實戰—撿金幣t232
9.1遊戲的感性認識t232
9.1.1遊戲運行效果圖t232
9.1.2組成分析t233
9.2金幣、背景的實現的原理分析t233
9.3遊戲成就的原理分析及遊戲中的
碰撞檢測t233
9.3.1檢測的簡單介紹t234
9.3.2遊戲成就的原理分析t234
9.4成功界面與失敗界面的原理分析t234
9.5剩餘時間的原理分析t235
9.6代碼實現t235
9.6.1金幣(Jinbi)邏輯體的實現t235
9.6.2工具類(Utils)的實現t237
9.6 .3背景(BgImage)邏輯體的實現t237
9.6.4遊戲主邏輯體MyGamet239
9.6.5 Android與libGDX交互類
MainActivity的編寫t244
第10章休閒類游戲—2048t245
10.1 2048的由來及功能概述t245
10.1.1 2048的由來t245
10.1.2功能簡介t245
10.2遊戲的策劃及準備工作t247
10.2.1遊戲的策劃t247
10.2.2 Android平臺下游戲的準備工作t247
10.3遊戲的架構t248
10.3.1遊戲中用到的主要技術t248
10.3.2各類的簡要介紹t248
10.3.3遊戲的框架簡介t249
10.3.4遊戲中核心邏輯的幾個要點t250
10.4遊戲程序入口的設計與實現t251
10.4.1 MainActivity的實現t251
10.4.2 MyGame類的實現t252
10.5遊戲主界面GameScreen的設計與
實現t253
10 .5.1遊戲主界面的框架設計t253
10.5.2遊戲主界面GameScreen的
實現t257
10.6遊戲中所涉及的各個邏輯體t270
10.6.1資源管理類Assets的設計t270
10.6 .2資源管理類Assets的實現t271
10.6.3遊戲中的常量類Contantst272
10.6.4遊戲中分數邏輯體Score類的
設計與實現t273
10.6.5每種分值對應的顏色的邏輯體
Square的設計t274
10.6.6 Square類的實現t275
10.6.7分數格子邏輯體Cell類的設計t279
10.6.8分數格子邏輯體Cell類的實現t280
10.6.9數據存儲與恢復邏輯體Prefs
的設計t285
10.6.10數據存儲與恢復邏輯體Prefs
的實現t285
10.7遊戲的優化與改進t289
<作者介紹>
黃俊東,大眾點評客戶端研發工程師。南京郵電大學畢業,曾就任於創新工場等大型公司,CSDN的博客專家。具有豐富的開發經驗,具有3年Android平臺上的開發經驗,熟悉Java Web開發、Android開發和遊戲開發。開發並發布過多個APP和遊戲,如《FashioGirls》等Google Play上較為火熱的遊戲,尤其對libGDX開發有深入的研究。