Cocos2d-JS游戲開發

Cocos2d-JS游戲開發
定價:414
NT $ 360
  • 作者:凌建風
  • 出版社:人民郵電出版社
  • 出版日期:2016-05-01
  • 語言:簡體中文
  • ISBN10:711542148X
  • ISBN13:9787115421487
  • 裝訂:331頁 / 普通級 / 1-1
 

內容簡介

本書結合《保衛蘿卜2》以及多個實例詳細介紹了Cocos2d-JS游戲引擎,書中共分為4個部分,開頭部分為基礎篇,主要介紹了Cocos引擎家族史、各平台下的環境搭建、開發工具的選用,還有引擎的核心框架、動作模塊、事件機制、音頻處理以及屏幕適配等;第二部分為進階篇,例如數據存儲、粒子系統、UI控件、性能優化以及游戲地圖;第三部分為高級篇,主要涉及與其他語言的反射調用、Chipmunk物理引擎、網絡編程以及JavaScript Binding;第四部分為實戰篇,即《保衛蘿卜2》實戰。

飛魚科技國際有限公司游戲開發工程師,觸控科技認證CVP,Cocos2d-JS方向傑出導師。從畢業到現在,一直從事Cocos2d-x和Cocos2d-JS游戲開發,先后在Cocos引擎中文官網和全球蘋果開發者社區CocoaChina發表多篇博文以及兩套Cocos2d-JS視頻教程。
 

目錄

第一部分 基礎篇
第1章Cocos2d—JS介紹2
1.1Cocos2d引擎家族2
1.1.1Cocos2d的誕生3
1.1.2Cocos引擎家族大事記4
1.2Cocos2d—JS介紹5
1.3引擎目錄結構6
1.4小結7
1.5參考資源7
第2章HelloWorld8
2.1CocosConsole8
2.1.1安裝Python8
2.1.2Android環境配置10
2.2創建、編譯和運行工程12
2.3HelloWorld的目錄結構13
2.4項目在Web和Native上的啟動流程16
2.5項目在各平台下的打包以及部署18
2.6js—tests測試工程22
2.7為《保衛蘿卜2》項目做准備23
2.8實例——利用CocosDevTools學習Cocos2d—JS27
2.9小結29
2.10參考資源29
第3章核心框架30
3.1導演30
3.1.1設置幀率31
3.1.2初始化管理器31
3.1.3初始化渲染器32
3.1.4獲取屏幕大小32
3.1.5執行游戲主循環32
3.2Cocos2d—JS坐標系33
3.3節點34
3.3.1基礎屬性35
3.3.2圖形屬性39
3.3.3其他屬性41
3.3.4常用函數43
3.4場景47
3.4.1再探導演——場景管理47
3.4.2切換特效48
3.4.3場景的生命周期49
3.5層50
3.6精靈52
3.6.1通過圖片資源創建52
3.6.2通過紋理創建52
3.6.3通過精靈表單創建53
3.6.4創建帶有顏色的精靈53
3.7場景樹54
3.8標簽54
3.8.1ccLabelTTF字體標簽54
3.8.2ccLabelBMFont位圖標簽56
3.8.3ccLabelAtlas字符映射標簽57
3.8.4使用編輯器制作FNT字體58
3.9實例——《保衛蘿卜2》主頁面開發61
3.9.1主頁面設計思路62
3.9.2視圖設定63
3.9.3代碼文件架構63
3.9.4主頁面BackgroundLayer開發64
3.9.5主頁面MainLayer開發65
3.10小結66
3.11參考資源66
第4章動作模塊67
4.1cc.Action67
4.2瞬時動作68
4.2.1ccPlace69
4.2.2ccFlipX和ccFlipY69
4.2.3ccShow和ccHide69
4.2.4ccToggleVisibility69
4.2.5ccRemoveSelf69
4.2.6ccCallFun70
4.3持續動作70
4.3.1屬性變化動作71
4.3.2視覺特效動作73
4.3.3復合動作75
4.4變速動作76
4.4.1ccSpeed76
4.4.2ccActionEase77
4.5實例——讓《保衛蘿卜2》的主界面動起來79
4.6小結81
4.7參考資源81
第5章事件機制82
5.1事件82
5.2事件管理器83
5.2.1添加事件監聽器83
5.2.2刪除事件監聽器84
5.2.3設置事件監聽器的優先級84
5.2.4分發事件85
5.3觸摸事件85
5.3.1單點觸摸85
5.3.2多點觸摸87
5.4加速計事件88
5.5鍵盤事件89
5.6鼠標事件90
5.7自定義事件91
5.8實例——虛擬搖桿封裝92
5.9小結99
5.10參考資源99
第6章音頻處理100
6.1Cocos2d—JS中的音頻100
6.1.1ccaudioEngine的常用API100
6.1.2各平台下支持的音頻格式101
6.2背景音樂何時播放102
6.3實例——給《保衛蘿卜2》添加音頻104
6.4小結104
6.5參考資源105
第7章屏幕適配106
7.1屏幕適配原理106
7.2如何使用適配模式108
7.3系統預設適配模式110
7.3.1ccResolutionPolicySHOW_ALL110
7.3.2ccResolutionPolicyNO_BORDER110
7.3.3ccResolutionPolicyEXACT_FIT111
7.3.4ccResolutionPolicyFIXED_HEIGHT112
7.3.5ccResolutionPolicyFIXED_WIDTH113
7.4推薦的適配方案113
7.5小結115
7.6參考資源116

第二部分 進階篇
第8章數據存儲118
8.1cc.syslocalStorage118
8.2JSON文件讀取119
8.3plist文件讀取120
8.4SQLite實現121
8.5實例——解鎖《保衛蘿卜2》的「天天向上」玩法121
8.6小結126
8.7參考資源126
第9章粒子系統127
9.1粒子系統概述127
9.2Cocos2d—JS中的粒子系統128
9.3ParticleDesigner編輯器133
9.4ParticleEditor編輯器135
9.5在Cocos2d—JS中使用粒子系統136
9.6小結137
9.7參考資源137
第10章UI控件138
10.1ccuiWidget父類138
10.2ccuiText文本141
10.2.1ccuiText字體文本142
10.2.2ccuiTextBMFont位圖文本143
10.2.3ccuiTextAtlas字符映射文本144
10.3ccuiButton按鈕144
10.4ccuiCheckBox復選框147
10.5ccuiSlider滑塊149
10.6ccuiImageView圖片視圖150
10.7ccuiLoadingBar加載條151
10.8ccuiTextField編輯框152
10.9ccuiLayout布局154
10.10ccuiScrollView滾動視圖158
10.11ccuiPageView分頁視圖161
10.12ccuiListView列表視圖163
10.13實例——《保衛蘿卜2》關卡選擇頁面的開發166
10.14小結170
10.15參考資源170
第11章性能優化171
11.1對象緩沖池171
11.1.1讓我們的類支持ccpool管理172
11.1.2使用ccpool管理對象173
11.2批量渲染174
11.2.1Cocos2d—JS中的SpriteBatchNode類175
11.2.2使用SpriteBatchNode176
11.3烘培層177
11.4SpriteSheet資源優化178
11.4.1圖片內存計算178
11.4.2TexturePacker179
11.4.3圖片資源壓縮182
11.5小結183
第12章游戲地圖184
12.1瓦片地圖原理184
12.2TiledMapEditor簡介185
12.3TiledMapEditor工作區介紹186
12.3.1工具欄186
12.3.2地圖編輯區186
12.3.3迷你地圖、對象、圖層區187
12.3.4圖塊、地形區188
12.3.5Cocos2d—JS支持的地圖類型188
12.3.6瓦片地圖坐標系189
12.4使用TiledMapEditor制作一個地圖189
12.4.1新建地圖190
12.4.2新建圖塊190
12.4.3新建層191
12.4.4編輯地圖191
12.5在Cocos2d—JS中使用瓦片地圖193
12.5.1ccTMXTiledMap地圖對象193
12.5.2ccTMXLayer圖層對象195
12.5.3ccTMXObjectGroup對象組197
12.6小結198
12.7參考資源198

第三部分 高級篇
第13章反射調用200
13.1反射調用概述200
13.2反射調用Objective—C201
13.3反射調用Java201
13.4小結203
13.5參考資源203
第14章Chipmunk物理引擎204
14.1物理概念204
14.1.1剛體204
14.1.2面積205
14.1.3質量205
14.1.4密度205
14.1.5轉動慣量205
14.1.6彈性系數205
14.1.7摩擦系數205
14.2Chipmunk中的基本概念206
14.2.1基本類型206
14.2.2Chipmunk的坐標系統206
14.2.3Chipmunk中的基本數據結構206
14.3剛體208
14.3.1動態剛體210
14.3.2靜態剛體213
14.4形狀214
14.4.1基類cpShape214
14.4.2圓形216
14.4.3線段216
14.4.4凸多邊形216
14.5約束217
14.5.1基類cpConstraint217
14.5.2PinJoint218
14.5.3SlideJoint218
14.5.4PivotJoint218
14.5.5GrooveJoint218
14.5.6DampedSpring219
14.5.7DampedRotarySpring219
14.5.8RotaryLimitJoint219
14.5.9RatchetJoint219
14.5.10GearJoint220
14.5.11SimpleMotor220
14.6空間220
14.7碰撞檢測222
14.7.1空間索引222
14.7.2碰撞過濾224
14.7.3碰撞回調225
14.7.4碰撞對228
14.8查詢228
14.8.1點查詢228
14.8.2線段查詢229
14.8.3區域查詢229
14.9實例——拖動剛體的實現230
14.10小結235
14.11參考資源235
第15章網絡編程236
15.1網絡編程相關概念236
15.2TCP/IP參考模型240
15.2.1服務端240
15.2.2客戶端240
15.2.3通信協議241
15.2.4端口241
15.2.5URI241
15.3基於HTTP協議的通信242
15.3.1運作方式242
15.3.2XMLHttpRequest對象242
15.4基於WebSocket的通信246
15.4.1Cocos2d—JS中的WebSocket246
15.4.2WebSocket對象常用的屬性和方法246
15.5基於SocketIO的通信249
15.5.1獲取SocketIO對象249
15.5.2SocketIO的常用方法250
15.6實例——使用Nodejs+SocketIO實現游戲聊天系統250
15.6.1Nodejs、Express框架和SocketIO庫的安裝251
15.6.2服務端開發253
15.6.3客戶端開發255
15.7小結258
15.8參考資源258
第16章JavaScriptBinding259
16.1Cocos引擎中的腳本綁定框架260
16.2自動綁定261
16.2.1自動綁定簡介及其限制262
16.2.2配置綁定環境262
16.3深入探究綁定技術264
16.3.1函數注冊264
16.3.2分析C++頭文件267
16.3.3綁定規則268
16.3.4綁定模板268
16.3.5轉換函數269
16.4綁定自己的C++類270
16.4.1編寫要綁定的C++類270
16.4.2生成C++類的自動綁定代碼271
16.5實例——綁定SQLite3278
16.5.1下載SQLite3源代碼278
16.5.2創建HelloSqlite工程278
16.5.3生成綁定代碼278
16.5.4注冊綁定279
16.5.5集成到平台中279
16.5.6測試結果280
16.6小結281
16.7參考資源282

第四部分 實戰篇
第17章《保衛蘿卜2》實戰284
17.1關卡選擇場景開發284
17.1.1使用瓦片地圖編輯器標記關卡按鈕坐標285
17.1.2關卡之間的連線開發288
17.1.3關卡按鈕特效節點開發290
17.2游戲管理對象GameManager的開發290
17.2.1關卡數值配置291
17.2.2GameManager編寫292
17.2.3彈出下一組怪物數據298
17.3游戲玩法場景開發299
17.3.1GamePlayScene開發300
17.3.2背景層GPBackground—Layer開發301
17.3.3UI層GPUILayer開發302
17.3.4菜單層GPMenuLayer開發303
17.3.5游戲玩法層(GPMain—Layer)304
17.4小結331
網路書店 類別 折扣 價格
  1. 新書
    87
    $360