Cocos2d-x 3.X遊戲開發入門精解

Cocos2d-x 3.X遊戲開發入門精解

《Cocos2d-x 3.X遊戲開發入門精解》是2015年電子工業出版社出版的圖書,作者是冉偉 李連勝。

基本介紹

  • 書名:Cocos2d-x3.X遊戲開發入門精解(含DVD光碟1張)
  • 作者:冉偉 李連勝等 編著
  • ISBN: 978-7-121-25227-3
  • 類別:網路與網際網路
  • 頁數:372
  • 定價:69
  • 出版社電子工業出版社
  • 出版時間:201502
  • 裝幀:平裝
  • 開本:16
內容簡介,編輯推薦,內容提要,目錄,

內容簡介

《Cocos2d-x 3.X遊戲開發入門精解》內容由淺入深,從最簡單的搭建開發環境開始直到最後完成一個高質量的遊戲項目。全書共20 章:第1~3 章主要講解開發環境的搭建及所需要的C++基礎知識;第4~9 章講解Cocos2d-x 的常見技術,包括基礎類、動畫、觸摸、GUI 控制項及多解析度適配等;第10~12 章講解Cocos2d-x 中的網路、檔案、瓦片地圖、物理引擎等知識;第13~15 章講解Cocos2d-x 中的Lua腳本語言開發、CocosStudio工具及粒子系統的使用方法;第16~19 章講解數據統計工具的使用方法、項目跨平台移植髮布、iOS 真機測試與發布、SVN 版本控制;第20章講解一個完整的“黃金礦工”項目,通過這個項目,大家可以將在本書中學到的知識進行綜合和自由擴展。
Cocos2d-x 3.X遊戲開發入門精解(含DVD光碟1張)(零基礎學,超適合新手入門,文字+視頻+實戰+培訓“海陸空”多位一體學習解決方案,學習Cocos2d-x最佳選擇!)
冉偉 李連勝等 編著
ISBN 978-7-121-25227-3
2015年2月出版
定價:69.00元
372頁
16開

編輯推薦

新手學習Cocos2d-x最佳選擇,進入遊戲行業求職就業的敲門磚
詳細解讀——從零基礎到完整遊戲實戰的全部過程
步步深入——Cocos2d-x移動遊戲開發引擎的方方面面
全面總結——一線培訓公司培訓遊戲開發小白的入門難點
超值配備——首度公開的價值數千萬培訓視頻光碟

內容提要

《Cocos2d-x 3.X遊戲開發入門精解》內容由淺入深,從最簡單的搭建開發環境開始直到最後完成一個高質量的遊戲項目。全書共20 章:第1~3 章主要講解開發環境的搭建及所需要的C++基礎知識;第4~9 章講解Cocos2d-x 的常見技術,包括基礎類、動畫、觸摸、GUI 控制項及多解析度適配等;第10~12 章講解Cocos2d-x 中的網路、檔案、瓦片地圖、物理引擎等知識;第13~15 章講解Cocos2d-x 中的Lua腳本語言開發、CocosStudio工具及粒子系統的使用方法;第16~19 章講解數據統計工具的使用方法、項目跨平台移植髮布、iOS 真機測試與發布、SVN 版本控制;第20 章講解一個完整的“黃金礦工”項目,通過這個項目,大家可以將在本書中學到的知識進行綜合和自由擴展。

目錄

第1 章 Cocos2d-x 簡介 1
1.1 遊戲引擎 1
1.1.1 什麼是遊戲引擎 1
1.1.2 常見的遊戲引擎 2
1.2 Cocos2d 引擎 3
1.2.1 Cocos2d 引擎家族 . 3
1.2.2 Cocos2d 引擎的主要功能 . 5
1.3 為什麼選擇Cocos2d-x . 6
1.4 如何學習Cocos2d-x6
1.4.1 學習前的準備工作 6
1.4.2 關於學習Cocos2d-x 的建議 6
1.5 小結 7
第2 章跨平台開發環境搭建8
2.1 搭建iOS 開發環境8
2.1.1 認識Mac 8
2.1.2 搭建開發環境 9
2.2 搭建Windows 開發環境15
2.3 小結17
第3 章數據類型與記憶體管理 18
3.1 回顧C++ 18
3.1.1 數據類型 18
3.1.2 模板與泛型編程 19
3.1.3 STL 庫26
3.2 新增數據類型36
3.2.1 __Integer 36
3.2.2 __Float、__Double、__Bool 37
3.2.3 __String 37
3.2.4 __Array 40
3.2.5 __Dictionary 42
3.2.6 __Set 43
3.2.7 Vector . 44
3.2.8 Map 45
3.3 記憶體管理 . 46
3.3.1 C++記憶體管理 47
3.3.2 引用計數記憶體管理 48
3.4 小結54
第4 章 Cocos2d-x 基礎類55
4.1 坐標系簡介56
4.1.1 螢幕坐標系 56
4.1.2 OpenGL 坐標系 56
4.1.3 節點坐標系 56
4.1.4 世界坐標系 57
4.1.5 錨點57
4.2 導演類(Director) 57
4.3 節點類(Node) 62
4.4 場景類(Scene) 66
4.4.1 新建場景 67
4.4.2 切換場景 69
4.5 布景層類(Layer) 71
4.5.1 Layer 類的使用方法 . 72
4.5.2 LayerColor . 74
4.6 選單類(Menu) 75
4.7 Cocos2d-x 中的文字79
4.7.1 LabelTTF 80
4.7.2 LabelAtlas 84
4.7.3 LabelBMFont 86
4.8 遊戲中的聲音 88
4.8.1 聲音簡介 89
4.8.2 常見的音樂格式 89
4.8.3 平台對聲音的支持 90
4.8.4 背景音樂的操作函式 91
4.8.5 音效的操作函式 92
4.8.6 音樂實例 93
4.9 繪製圖形 96
4.10 schedule()函式的使用方法 97
4.11 小結 99
第5 章動作和動畫 100
5.1 ActionInterval 101
5.1.1 基本動作 101
5.1.2 Sequence 107
5.1.3 DelayTime 107
5.1.4 TargetedAction . 108
5.1.5 ProgressTo 108
5.1.6 CardinalSplineTo 109
5.1.7 ActionEase . 110
5.1.8 GridBase111
5.2 ActionIntant 112
5.3 Speed . 116
5.4 Follow 116
5.5 ActionManager 117
5.6 與Sprite 相關的高級知識117
5.6.1 Texture2D 117
5.6.2 Sprite 118
5.6.3 TextureCache 118
5.6.4 SpriteBatchNode 119
5.6.5 SpriteFrameCache 121
5.6.6 精靈幀動畫 122
5.7 小結 123
第6 章遊戲界面設計(GUI) 124
6.1 滑塊(ControlSlider) 124
6.2 顏色選擇盤(ControlColourPicker) 125
6.3 開關按鈕(ControlSwitch) 126
6.4 按鈕(ControlButton) 127
6.5 文本框(EditBox) 128
6.6 滾動視圖(ScrollView) 129
6.7 表格視圖(TableView)132
6.8 小結135
第7 章觸摸事件 137
7.1 觸摸回響機制137
7.2 觸摸的具體實現方法 138
7.3 小結142
第8 章CocosBuilder使用指南 143
8.1 CocosBuilder簡介 143
8.2 CocosBuilder的簡單使用方法 144
8.3 CocosBuilder項目設定146
8.4 ccb資料夾簡介 147
8.5 載入及綁定 147
8.5.1 簡單地載入一個場景 147
8.5.2 類的綁定 148
8.5.3 按鈕、選單、方法的綁定 149
8.5.4 成員變數的綁定 150
8.5.5 監聽綁定過程 151
8.5.6 運行非自動運行的動畫 151
8.6 小結 153
第9 章多解析度螢幕適配 154
9.1 解決方案及其原理 155
9.1.1 概念及約定 155
9.1.2 常用的函式 155
9.1.3 原理及實現 156
9.2 策略選擇 158
9.3 總結 159
9.3.1 適配原理總結 159
9.3.2 設定相對位置 160
9.3.3 在遊戲中實現多解析度適配 160
9.4 小結 161
第10 章網路遊戲開發 162
10.1 概述 162
10.2 HTTP 介紹 163
10.2.1 curl 庫簡介 163
10.2.2 HTTP 在引擎中的使用方法 165
10.3 Socket 網路通信 168
10.3.1 網路基礎知識 168
10.3.2 Socket 常用的函式169
10.3.3 TCP 與UDP 編程流程 176
10.3.4 基於TCP 的網路程式編寫 178
10.3.5 基於UDP 的網路程式編寫 181
10.4 小結183
第11 章瓦片地圖184
11.1 Tiled 軟體的使用方法 184
11.2 TMXTiledMap類 187
11.3 TMXLayer類 189
11.4 TMXObjectGroup類190
11.5 實例 190
11.5.1 編輯地圖 191
11.5.2 代碼實現 195
11.6 小結 207
第12 章 Box2D 物理引擎 . 208
12.1 概述208
12.2 基本概念209
12.3 世界209
12.3.1 創建世界 211
12.3.2 使用世界 211
12.4 剛體213
12.4.1 創建一個靜態剛體213
12.4.2 創建一個動態剛體 . 214
12.4.3 物體工廠 215
12.5 形狀215
12.5.1 形狀概述 215
12.5.2 形狀定義 215
12.6 接觸218
12.6.1 基本概念 218
12.6.2 接觸監聽器 219
12.6.3 接觸篩選 220
12.7 Cocos2d-x 3.X 版本物理引擎的使用220
12.7.1 創建帶有物理世界的場景 222
12.7.2 創建邊界 222
12.7.3 創建一個精靈 223
12.7.4 物理世界碰撞檢測223
12.8 物理引擎使用實例224
12.8.1 定義精靈 225
12.8.2 接觸監聽 226
12.8.3 主場景實現 227
12.9 小結 . 231
第13 章Lua腳本語言 232
13.1 為什麼使用Lua 232
13.2 Lua語法入門 233
13.2.1 類型與數值 233
13.2.2 表達式 235
13.2.3 Lua語句 237
13.2.4 函式 242
13.3 示例項目HelloLua詳解 244
13.3.1 Lua與C++的互動 244
13.3.2 Lua腳本引擎的初始化245
13.4 Lua綁定C++類 245
13.4.1 準備工作 246
13.4.2 開始綁定 247
13.5 小結 251
第14 章CocoStudio使用指南 252
14.1 CocoStudio組件介紹 252
14.1.1 UI 編輯器 253
14.1.2 動畫編輯器 255
14.1.3 數據編輯器 257
14.1.4 場景編輯器 257
14.2 Cocos2d-x 添加CocoStudio庫(Visual Studio)259
14.3 腳本連線CocoStudio 263
14.4 小結268
第15 章粒子系統 269
15.1 粒子系統簡介 269
15.2 粒子系統的生命周期 269
15.3 粒子的相關屬性270
15.4 發射器的相關屬性270
15.5 在代碼中使用粒子效果 272
15.6 小結273
第16 章數據統計工具 274
16.1 Flurry 簡介 274
16.2 Flurry 的使用過程 275
16.3 統計崩潰日誌279
16.4 Flurry 與其他統計工具的對比 279
16.5 小結 279
第17 章將iOS 項目部署到Android 280
17.1 相關概念280
17.2 Mac 下的環境搭建281
17.2.1 準備工作 281
17.2.2 配置環境 282
17.2.3 編譯 283
17.3 Windows 下的環境搭建 284
17.3.1 準備工作 284
17.3.2 配置環境 285
17.3.3 編譯285
17.4 Android 真機測試和打包 286
17.4.1 導入286
17.4.2 真機測試 289
17.4.3 打包291
17.5 小結295
第18 章蘋果真機測試及發布 296
18.1 開發者註冊296
18.1.1 創建Apple ID 賬號 296
18.1.2 註冊成為蘋果開發者 297
18.2 真機調試 304
18.3 小結316
第19 章 SVN 版本控制317
19.1 SVN 簡介 317
19.2 SVN 伺服器的配置 318
19.3 在Mac 下配置SVN 客戶端 322
19.4 小結 326
第20 章項目實戰:黃金礦工 327
20.1 任務概述327
20.1.1 項目簡介 327
20.1.2 開發背景 327
20.1.3 軟體定義 328
20.1.4 開發環境 328
20.2 項目概述328
20.2.1 產品描述 328
20.2.2 用戶要求 328
20.2.3 輸入、輸出要求 329
20.2.4 遊戲中的道具設定329
20.2.5 系統流程圖 329
20.3 需求分析330
20.3.1 功能需求 330
20.3.2 非功能性需求 331
20.3.3 項目界面需求 331
20.4 用例圖 335
20.4.1 開始新遊戲 335
20.4.2 繼續遊戲 336
20.4.3 聲音設定 336
20.4.4 得分排名 336
20.4.5 暫停遊戲 337
20.4.6 贏取金幣 337
20.4.7 使用道具 338
20.4.8 退出遊戲 338
20.5 詳細設計 . 339
20.5.1 項目設計 339
20.5.2 時序圖348
20.6 小結354
附錄A Cocos2d-x 3.X 常見的宏定義 355
作者簡介
冉偉,加拿大Carleton大學計算機科學碩士,北京渥瑞達科技總裁,前Sony Ericsson資深軟體設計師,移動網際網路iOS/Android軟體設計專家,跨平台手機遊戲設計專家,曾就職Motorola,SonyEricsson等國際著名通信企業。
前言
Cocos2d-x 是全球知名的開源跨平台手機遊戲引擎,易學易用,支持iOS、Android、Windows 8、Mac OS X、Linux、BlackBerry、Windows Phone 等平台。Cocos2d-x 已被海內外頂尖的遊戲公司,例如Zynga、Glu、Gree、DeNA、TinyCo、Gamevil、HandyGames、人人遊戲、4399、搜狐暢遊、崑崙萬維、熱酷、樂元素、菲音、心動遊戲等,用於其主流iOS、Android 平台的遊戲開發。如果想從事遊戲開發,那么學習Cocos2d-x 勢在必行。
本書內容由淺入深,從最簡單的搭建開發環境開始直到最後完成一個高質量的遊戲項目。全書共20 章:第1~3 章主要講解開發環境的搭建及所需要的C++語言基礎知識;第4~9 章講解Cocos2d-x 的常見技術,包括基礎類、動畫、觸摸、GUI 控制項及多解析度適配等;第10~12 章講解Cocos2d-x 中的網路、檔案、瓦片地圖、物理引擎等知識;第13~15 章講解Cocos2d-x 中的Lua腳本語言開發、CocosStudio工具及粒子系統的使用方法;第16~19 章講解數據統計工具的使用方法、項目跨平台移植髮布、iOS 真機測試與發布、SVN 版本控制;第20 章講解一個完整的“黃金礦工”項目,通過這個項目,大家可以將在本書中學到的知識進行綜合併且可以自由擴展。
編著本書的宗旨是讓沒有任何遊戲開發基礎的讀者能通過這本Cocos2d-x 方面的專業書,學會遊戲開發,得到高薪工作的Offer。我們在本書中對遊戲開發中常見的知識進行了擴展和延伸,力求講解到位,讓讀者輕鬆掌握。書中的每個知識點都有詳細的配套代碼、說明及運行效果圖。每章最後都有一個小結,對該章內容進行總結。
超強的配套學習資源,完美的跟蹤服務
在本書配套的DVD 光碟中,有書中所有實例的開發代碼和每個章節的學習視頻,部分視頻需要讀者去渥瑞達官方論壇進行下載。通過參考本書並結合本書配套光碟,讀者可以加快對知識點的掌握及學習進度。若在學習本書的過程中遇到問題,則可以在渥瑞達官方論壇發帖諮詢,我們會給予詳細的解答。
由於作者能力有限,書中難免會存在紕漏。讀者可以通過上面給出的聯繫方式,與我們溝通、交流。
本書由渥瑞達創始人冉偉、李連勝主編,由朱玉強、楊曉中、楊博、李曉波、張榮霞參與編著,在此一併表示感謝。

相關詞條

熱門詞條

聯絡我們