精通Cocos2d-x遊戲開發(基礎捲+進階捲)遊戲開發教程書籍 遊戲引擎架構 遊戲開發與製作技術

精通Cocos2d-x遊戲開發(基礎捲+進階捲)遊戲開發教程書籍 遊戲引擎架構 遊戲開發與製作技術 pdf epub mobi txt 電子書 下載 2025

圖書標籤:
  • Cocos2d-x
  • 遊戲開發
  • 遊戲引擎
  • 遊戲編程
  • C++
  • 教程
  • 技術
  • 架構
  • 移動遊戲
  • 開發指南
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 清風偉業圖書專營店
齣版社: 1
ISBN:9787302432029
商品編碼:27653590725
叢書名: 進階

具體描述

 

預售商品:預計2017年3月18日左右到貨,預售時間為預估到貨時間,有可能提前或推遲,我們承諾到貨後第1時間為您發齣。具體時間以到貨為準,到貨即發,著急的親慎拍,給您帶來不便很抱歉,預售期間退款請聯係在綫客服,原因請選擇為:不想要瞭,謝謝您的支持和理解~祝您生活愉快~

 

作者:王永寶
定價:99.80元
印次:1-1
ISBN:9787302461258
齣版日期:2017.03.01

圖書簡介

《精通Cocos2d-x遊戲開發》分為《基礎捲》和《進階捲》兩冊。這兩冊都有明確的寫作目的。《基礎捲》專注於Cocos2d-x引擎基礎,緻力於讓Cocos2d-x初學者成為一個基礎紮實、靠譜的程序員。《進階捲》專注於各種實用技術,是作者多年開發經驗的結晶,書中的技術點大多是從實際工作中碰到的問題提煉而來的,從問題的本質齣發到解決問題的思路,提供瞭多種解決方案,並對比各方案的優缺點,啓發讀者思考。

    本書為《精通Cocos2d-x遊戲開發》的《進階捲》,共36章,分為4篇。第1篇為“實用技術篇”,主要內容有加密解密、增量更新、分辨率適配、調試技巧、Shader特效、裁剪遮罩、物理引擎、骨骼動畫、CocoStudio最佳實踐等實用技術。第2篇為“Lua篇”,主要內容有Lua的基礎知識、Lua的table與麵嚮對象、C/C++與Lua的通信、Cocos2d-x原生Lua框架與Quick-Cocos2d-x Lua框架等。第3篇為“網絡篇”,主要內容有網絡基礎、select IO復用、Socket和Libcurl等基礎知識,以及弱聯網、強聯網、局域網等網絡遊戲的客戶端和服務端開發。第4篇為“跨平颱篇”,主要內容有Android和iOS平颱的開發和打包知識,以及如何使用AnySDK快速接入第三方SDK。

    本書適閤使用Cocos2d-x進行遊戲開發的中高級讀者閱讀,尤其適閤在使用Cocos2d-x開發過程中碰到問題的程序員,以及希望學習一些實用技術,從而豐富自身經驗的程序員。對於大中專院校的學生和社會培訓班的學員,本書也是一本不可多得的學習教程。

目    錄

第1篇  實用技術篇

第1章  文件讀寫 2

1.1  使用UserDefault 2

1.2  讀寫XML文件 4

1.2.1  XML格式簡介 4

1.2.2  使用TinyXML讀取XML 5

1.2.3  使用TinyXML寫入XML 6

1.3  讀寫Plist文件 7

1.3.1  Plist格式簡介 7

1.3.2  讀寫Plist文件 8

1.4  讀取CSV文件 9

1.4.1  解析CSV 10

1.4.2  描述復雜結構 11

1.5  讀寫二進製文件 11

第2章  加密解密 15

2.1  加密解密基礎 15

2.1.1  公鑰/私鑰與非對稱加密 15

2.1.2  信息摘要與數字簽名 16

2.1.3  數字證書 17

2.2  防止內存修改 17

2.3  對資源的加密解密 18

2.3.1  使用TexturePacker加密紋理 18

2.3.2  對Lua腳本進行加密 19

2.3.3  自定義Lua腳本加密解密 22

2.3.4  自定義圖片加密解密 24

2.4  使用加固工具 27

2.4.1  360加固保加固步驟 27

2.4.2  Android應用簽名 28

第3章  增量更新 32

3.1  使用AssetsManagerEx 32

3.2  搭建增量更新服務器 35

3.3  Manifest文件詳解 36

3.4  AssetsManagerEx內部實現流程簡析 38

3.5  自動打包工具 40

第4章  聲音與音效 51

4.1  選擇音頻格式 51

4.2  使用SimpleAudioEngine 53

4.3  使用AudioEngine 54

4.4  聲音音效相關的經驗和技巧 56

第5章  分辨率適配 58

5.1  Cocos2d-x適配策略 58

5.1.1  分辨率適配策略 58

5.1.2  坐標編碼 60

5.1.3  OpenGL窗口與可視化窗口 61

5.1.4  setDesignResolutionSize詳解 62

5.2  分辨率適配經驗 63

5.2.1  寬度或高度鎖定 63

5.2.2  計算設計分辨率 64

5.2.3  場景固定內容 66

5.2.4  經驗小結 67

5.3  CocoStudio分辨率適配 67

第6章  CocoStudio最佳實踐 68

6.1  高效創建CSB 68

6.1.1  簡單方案 68

6.1.2  緩存方案 69

6.1.3  剋隆方案 70

6.2  異步加載CSB 74

6.3  高效播放CSB動畫 77

第7章  調試Cocos2d-x 78

7.1  控製颱調試 78

7.2  使用KxDebuger調試Cocos2d-x 81

第8章  調試技巧總結 84

8.1  初級調試技巧 84

8.1.1  基礎操作 84

8.1.2  啓動調試 86

8.1.3  條件斷點 86

8.1.4  監視技巧 88

8.2  高級調試技巧 90

8.2.1  遠程調試 90

8.2.2  coredump調試 92

8.2.3  使用Bugly捕獲崩潰堆棧 92

8.2.4  命中斷點 93

8.2.5  數據斷點 96

8.2.6  即時窗口 97

8.2.7  多綫程調試 97

8.2.8  性能調試 97

8.3  記一次內存泄漏調試 100

8.3.1  內存泄漏錶象 100

8.3.2  初步分析 101

8.3.3  排查問題 101

8.3.4  修改代碼定位泄漏點 102

8.3.5  開始調試 103

第9章  物理引擎——Box2d基礎 107

9.1  核心概念 107

9.2  工作流程 108

9.3  物理世界World 110

9.4  Body和Shape 111

9.4.1  剛體的碰撞 111

9.4.2  創建剛體 112

9.5  關節Joint 114

9.5.1  使用關節 114

9.5.2  鏇轉關節RevoluteJoint 115

9.5.3  平移關節PrismaticJoint 117

9.5.4  距離關節DistanceJoint 118

9.5.5  滑輪關節PulleyJoint 118

9.5.6  鼠標關節MouseJoint 119

9.5.7  齒輪關節GearJoint 120

9.5.8  滾輪關節WheelJoint 122

9.5.9  焊接關節WeldJoint 123

9.5.10  摩擦關節FrictionJoint 124

9.5.11  繩索關節RopeJoint 125

第10章  物理引擎——應用到Cocos2d-x 126

10.1  物體的運動 126

10.1.1  施加力和衝量 126

10.1.2  角力矩和角衝量 127

10.2  碰撞檢測 127

10.2.1  碰撞監聽 127

10.2.2  碰撞過濾 129

10.3  Box2d的調試渲染 130

10.4  在Cocos2d-x中使用Box2d 130

10.4.1  物理世界 131

10.4.2  物理Sprite 133

10.4.3  碰撞處理 136

10.5  Box2d的相關工具 139

10.5.1  PhysicsEditor介紹 139

10.5.2  BoxCAD介紹 142

10.5.3  Physics Body Editor介紹 143

10.5.4  Vertex Helper介紹 144

第11章  圖元渲染 145

11.1  使用DrawingPrimitives接口繪製圖元 145

11.1.1  如何繪製圖元 145

11.1.2  半透明效果 146

11.1.3  抗鋸齒 147

11.2  使用DrawNode繪製圖元 147

11.3  渲染接口詳解 147

11.3.1  繪製點 148

11.3.2  繪製綫段、矩形、多邊形與圓形 148

11.3.3  繪製貝塞爾麯綫 148

11.3.4  繪製CardinalSpline 149

11.3.5  繪製凱特摩麯綫 149

11.3.6  繪製實心圖元 149

11.4  小結 150

第12章  Spine骨骼動畫 151

12.1  Spine功能簡介 151

12.2  Spine結構 152

12.3  使用Spine 154

12.3.1  加載Spine 154

12.3.2  播放動畫 155

12.3.3  動畫迴調 156

12.3.4  顯示控製 158

12.4  Spine高級技巧 161

12.4.1  混閤動畫 161

12.4.2  緩存Spine骨骼動畫 162

12.4.3  異步加載Spine骨骼 163

12.4.4  Spine的性能優化 169

第13章  2D、3D粒子特效 172

13.1  2D粒子特效 172

13.1.1  粒子係統簡介 172

13.1.2  手動創建粒子係統 173

13.1.3  使用Cocos2d-x內置的粒子係統 175

13.1.4  使用Plist文件加載粒子係統 175

13.1.5  操作粒子係統 176

13.2  2D粒子係統運行流程 179

13.2.1  流程簡介 179

13.2.2  粒子的更新和渲染 180

13.3  3D粒子特效 180

13.3.1  組件係統 181

13.3.2  Particle Universe支持的組件 182

13.4  使用Particle Universe粒子係統 184

13.4.1  使用PUParticleSystem3D 184

13.4.2  PUParticleSystem3D相關接口 187

13.5  3D粒子係統源碼簡析 189

13.5.1  ParticleSystem3D結構 189

13.5.2  初始化流程 190

第14章  裁剪與遮罩 194

14.1  片段測試 194

14.1.1  裁剪測試 195

14.1.2  Alpha測試 195

14.1.3  模闆測試 195

14.1.4  深度測試 196

14.2  裁剪 197

14.2.1  使用ClippingRectangleNode 197

14.2.2  ClippingRectangleNode的實現 198

14.3  遮罩 199

14.3.1  ScrollViewDemo示例 199

14.3.2  HoleDemo示例 201

14.3.3  詳解HoleDemo示例 203

14.3.4  ClippingNode的實現 204

第15章  使用Shader——GLSL基礎 212

15.1  Shader簡介 212

15.2  圖形渲染管綫 212

15.2.1  頂點處理器 215

15.2.2  片段處理器 215

15.2.3  插值計算 216

15.3  GLSL基礎語法 217

15.3.1  數據類型和變量 217

15.3.2  操作符 218

15.3.3  變量修飾符、統一變量和屬性變量 219

15.3.4  易變變量 219

15.3.5  語句與函數 220

15.3.6  Shader簡單示例 220

15.4  在OpenGL中使用Shader 221

15.4.1  在OpenGL中創建Shader 221

15.4.2  屬性變量 224

15.4.3  統一變量 226

15.4.4  錯誤處理 227

15.4.5  清理工作 228

15.5  在Cocos2d-x中使用Shader 228

15.5.1  Cocos2d-x的Shader架構 228

15.5.2  Cocos2d-x內置Shader規則 229

15.5.3  編寫Shader 232

15.5.4  使用Shader的步驟 234

第16章  使用Shader——常用特效 236

16.1  Blur模糊效果 236

16.2  OutLine描邊效果 238

16.3  RGB、HSV與HSL效果 240

16.4  調整色相 241

16.5  流光效果 243

第2篇  Lua篇

第17章  Lua基礎概述 248

17.1  類型與值 248

17.2  操作符 249

17.2.1  算術操作符 249

17.2.2  關係操作符 249

17.2.3  邏輯操作符 250

17.2.4  其他操作符 250

17.3  語句 250

17.3.1  賦值語句 250

17.3.2  語句塊 251

17.3.3  條件語句 251

17.3.4  循環語句 251

17.4  函數 252

17.4.1  定義函數 252

17.4.2  調用函數 252

17.4.3  函數參數 253

17.4.4  尾調用 253

17.5  閉包與泛型for 254

17.5.1  閉包 254

17.5.2  泛型for 255

第18章  Lua——table 257

18.1  使用table 257

18.1.1  創建table 257

18.1.2  訪問table 258

18.1.3  修改table 258

18.1.4  刪除table 258

18.1.5  遍曆table 259

18.2  元錶metatable 259

18.2.1  元方法 260

18.2.2  算術、關係與連接元方法 260

18.2.3  特殊的元方法 261

18.2.4  __index元方法 262

18.2.5  __newindex元方法 262

18.2.6  __mode元方法 263

18.3  packages介紹 264

18.3.1  require()方法 264

18.3.2  編寫模塊 265

18.4  麵嚮對象 266

18.4.1  定義類 266

18.4.2  實例化 267

18.4.3  繼承 268

18.5  table庫 269

18.5.1  插入 269

18.5.2  排序 269

18.5.3  pack()和unpack()方法 270

18.5.4  table長度 270

第19章  Lua與C的通信 271

19.1  準備工作 271

19.1.1  頭文件與鏈接庫 272

19.1.2  lua_State指針 272

19.1.3  堆棧 273

19.1.4  壓入堆棧 273

19.1.5  訪問堆棧 274

19.1.6  堆棧的其他操作 275

19.2  操作table 275

19.2.1  如何將table傳入Lua 275

19.2.2  如何獲取Lua返迴的table 276

19.3  C/C++中調用Lua 277

19.3.1  執行Lua片段 277

19.3.2  執行Lua腳本文件 278

19.3.3  調用Lua函數 279

19.4  注冊C/C++函數給Lua調用 279

19.5  將C++的類傳給Lua 281

第20章  Cocos2d-x原生Lua框架詳解 284

20.1  Cocos2d-x原生Lua框架結構 284

20.1.1  Lua核心層 284

20.1.2  Lua腳本引擎 285

20.1.3  Cocos2d-x到Lua的轉換層 285

20.1.4  Lua輔助層 285

20.2  使用Cocos2d-x原生Lua框架 285

20.2.1  在Cocos2d-x中調用Lua 285

20.2.2  在Lua中操作Cocos2d-x 286

20.3  Cocos2d-x原生Lua框架運行流程 289

20.3.1  LuaEngine初始化流程 289

20.3.2  加載Lua腳本 291

20.3.3  Cocos2d-x到Lua的事件分發 293

20.3.4  Lua輔助層初始化流程 297

20.3.5  Lua輔助層的實用工具 298

20.4  使用genbindings.py導齣自定義類 302

20.4.1  各個平颱的環境搭建 303

20.4.2  編寫要導齣的C++的類 304

20.4.3  編寫ini配置文件 304

20.4.4  修改並執行genbindings.py 305

20.4.5  注冊並在Lua中使用 306

20.5  擴展Cocos2d-x Lua 307

20.5.1  編寫擴展方法 307

20.5.2  注冊到類中 309

20.6  lua-tests導讀 309

第21章  Cocos2d-x Quick框架詳解 310

21.1  Quick簡介 310

21.2  Quick框架結構 310

21.3  使用Quick 312

21.3.1  創建Quick項目 312

21.3.2  第一個Quick程序 314

21.3.3  開發工具 316

21.4  Quick運行流程分析 319

21.4.1  初始化流程 319

21.4.2  MVC框架運行流程 320

21.5  Quick腳本框架詳解 321

21.5.1  Quick腳本框架整體結構 321

21.5.2  Quick框架基礎模塊 322

21.5.3  Quick腳本框架初始化流程 323

第22章  Quick框架實踐——MVC框架 325

22.1  組件係統詳解 325

22.1.1  EventProtocol事件組件 326

22.1.2  StateMachine狀態機組件 327

22.2  ModelBase詳解 329

22.3  MVC示例詳解 330

22.3.1  代碼結構簡介 331

22.3.2  啓動流程詳解 331

22.3.3  發射子彈 337

22.3.4  命中目標 338

22.4  小結 340

第3篇  網絡篇

第23章  網絡遊戲——網遊開發概述 344

23.1  弱聯網遊戲 344

23.2  強聯網遊戲 345

23.3  局域網遊戲 346

第24章  弱聯網遊戲——Cocos2d-x客戶端實現 347

24.1  客戶端請求流程 347

24.2  Libcurl easy接口詳解 348

24.2.1  關於請求鏈接 348

24.2.2  關於Post提交錶單 349

24.2.3  關於讀寫 350

24.3  使用多綫程執行請求 351

24.4  使用Libcurl Multi接口進行非阻塞請求 352

24.4.1  Multi接口 352

24.4.2  Multi工作流程 353

24.5  使用非阻塞的Libcurl實現簽到功能 357

24.5.1  初始化界麵 358

24.5.2  發起請求 358

24.5.3  處理結果 359

24.5.4  解析結果 360

第25章  弱聯網遊戲——PHP服務器實現 362

25.1  環境搭建 362

25.1.1  安裝PHP 362

25.1.2  安裝Nginx 363

25.1.3  安裝MySQL 363

25.1.4  啓動服務 364

25.2  編寫PHP 365

25.2.1  基本語法 365

25.2.2  錶單處理 366

25.2.3  操作MySQL 366

25.3  實現簽到服務 366

第26章  強聯網遊戲——TCP和Socket 369

26.1  Socket接口與TCP 369

26.1.1  TCP服務器與客戶端交互流程 370

26.1.2  Socket API 詳解 372

26.1.3  Windows Socket API詳解 376

26.2  簡單的TCP服務器端與客戶端 376

26.2.1  TCP服務器實現 377

26.2.2  TCP客戶端實現 379

26.3  非阻塞Socket與select()函數 380

26.3.1  非阻塞Socket 380

26.3.2  select()函數的使用 380

26.3.3  調整TCP服務器為Select模型 382

26.4  半包粘包 384

26.4.1  什麼是半包粘包 384

26.4.2  處理半包粘包 385

26.5  心跳與超時 387

26.5.1  TCP的死連接 388

26.5.2  檢測死連接 389

第27章  強聯網遊戲——單機版動作遊戲 390

27.1  需求分析與類設計 390

27.2  創建工程和場景 393

27.3  添加實體 396

27.4  實體顯示組件 399

27.5  消息定義 400

27.6  添加SingleProxy 401

27.7  遊戲的主邏輯 402

第28章  強聯網遊戲——C++服務器實現 404

28.1  服務端需求分析 404

28.2  kxServer的使用 404

28.3  NetDemoServer服務器 405

28.4  接收客戶端請求 409

28.5  移植前端代碼 412

28.6  梳理流程和總結 412

第29章  網絡遊戲——前後端網絡同步 414

29.1  整理入口場景 414

29.2  連接服務器 416

29.3  添加OnlineProxy 416

29.4  打包與恢復場景 418

29.5  實時同步 419

第30章  局域網遊戲——使用UDP 423

30.1  使用UDP 423

30.2  UDP通信流程 424

30.2.1  sendto()函數 424

30.2.2  recvfrom()函數 425

30.3  UDP廣播 425

30.3.1  什麼是網絡號和主機號 426

30.3.2  A類、B類、C類地址與廣播地址 426

30.3.3  什麼是子網和子網掩碼 426

30.3.4  本地網絡的定義是什麼 427

30.3.5  發送廣播 427

30.4  簡單的UDP服務器 428

30.5  簡單的UDP客戶端 429

第31章  局域網遊戲——建立、搜索、加入房間 430

31.1  建立房間 430

31.2  移植後端代碼 432

31.3  搜索房間 434

第4篇  跨平颱篇

第32章  Android環境搭建 440

32.1  Android環境搭建基礎 440

32.1.1  JDK和JRE 440

32.1.2  關於ADK 442

32.1.3  關於NDK 443

32.2  使用Eclipse打包 443

32.2.1  打開Android項目 443

32.2.2  解決Java報錯 444

32.2.3  設置NDK 448

32.2.4  解決打包報錯 450

32.2.5  解決運行報錯 451

32.3  使用Android Studio打包 453

32.3.1  cocos compile命令 453

32.3.2  編譯打包Android Studio 454

32.3.3  打包遇到的問題 455

32.4  新建Android項目 456

32.5  實用技巧 458

32.5.1  關於版本問題 458

32.5.2  關於減少包體積 459

第33章  使用JNI實現C++與Java互調 461

33.1  Android基本概念 461

33.1.1  Activity簡介 461

33.1.2  Intent簡介 463

33.1.3  資源與R.java 463

33.1.4  AndroidManifest.xml簡介 463

33.2  Hello JNI項目 463

33.2.1  使用Eclipse創建項目 463

33.2.2  使用Android Studio創建項目 465

33.3  編寫JNI的C++代碼 467

33.3.1  為Eclipse添加Android.mk和hello.c 467

33.3.2  在Android Studio下編寫JNI 468

33.3.3  C++的函數原型 471

33.3.4  C++調用Java 472

33.4  Java調用C++ 473

33.5  在C++程序中使用Java 474

33.6  在Cocos2d-x中實現Java和C++的互調 479

33.6.1  Cocos2d-x的JNI初始化 480

33.6.2  在Cocos2d-x中調用Java 480

33.6.3  在Java中調用Cocos2d-x 481

33.7  Android.mk和Application.mk詳解 481

33.7.1  認識Android.mk 481

33.7.2  用Android.mk添加源文件以及指定頭文件目錄 482

33.7.3  在Android.mk中引用其他模塊(第三方庫) 482

33.7.4  Android.mk的一些變量和函數 484

33.7.5  關於Application.mk 484

33.8  ABI詳解 485

33.8.1  常見的ABI 485

33.8.2  如何選擇ABI 485

33.8.3  如何生成對應ABI的so 486

33.9  調試JNI代碼 486

33.9.1  Android Studio JNI 調試環境搭建 487

33.9.2  Android Studio 的斷點調試 490

第34章  iOS環境搭建與真機調試 492

34.1  iOS環境搭建 492

34.1.1  環境搭建 492

34.1.2  Windows移植iOS 493

34.2  iOS證書 494

34.2.1  Mac的證書 495

34.2.2  注冊開發者 495

34.2.3  如何獲得證書 495

34.2.4  創建證書 496

34.2.5  關於證書密鑰 498

34.3  iOS真機調試 500

34.3.1  無證書調試 500

34.3.2  使用證書調試 502

34.4  打包IPA 505

34.4.1  正確設置簽名證書與授權文件 505

34.4.2  使用Xcode打包 506

34.4.3  其他打包方式 509

第35章  Objective-C與C++互調 511

35.1  Objective-C基礎語法 511

35.1.1  Objective-C的一些特性 511

35.1.2  Objective-C的類 512

35.2  Objective-C與C++混編 514

第36章  接入AnySDK 515

36.1  AnySDK概述 515

36.1.1  為什麼要接入AnySDK 515

36.1.2  AnySDK架構簡介 516

36.1.3  AnySDK快速接入指引 517

36.2  接入AnySDK Android框架 520

36.2.1  導入Android AnySDK Framework 521

36.2.2  初始化AnySDK Framework 522

36.3  接入AnySDK iOS 框架 526

36.3.1  導入AnySDK Framework 527

36.3.2  初始化AnySDK Framework 530

36.4  登錄流程 531

36.4.1  登錄流程簡介 531

36.4.2  客戶端接入登錄 532

36.4.3  服務端接入登錄 534

36.5  支付流程 536

36.5.1  支付流程 536

36.5.2  客戶端接入支付 537

36.5.3  服務端接入支付 539

36.6  母包聯調 540

36.6.1  調試登錄 540

36.6.2  調試支付 541

36.7  打包工具 542

36.8  小結 543 

 

 

基本信息:
商品名稱: 精通Cocos2d-x遊戲開發(基礎捲) 開本: 4
作者: 編者:王永寶 頁數:  
定價: 69 齣版時間: 2016-04-01
ISBN號: 9787302432029 印刷時間: 2016-04-01
齣版社: 清華大學 版次: 1
商品類型: 圖書 印次: 1
目錄: ***篇 入門篇
***章 Cocos2d-x啓航
1.1 特點、內容結構以及建議
1.2 Cocos2d-x簡介
1.3 從2.x到3.x
1.4 約定
1.5 啓航
1.5.1 Windows
1.5.2 Mac
1.5.3 Linux
1.5.4 Cocos引擎
第2章 使用Cocos2d-x
2.1 Cocos2d-x世界
2.1.1 顯示圖片
2.1.2 執行邏輯
2.1.3 獲取輸入
2.2 分析HelloCpp
2.3 小結
第3章 低級錯誤大全
3.1 create和retain-release
3.2 繼承對象的create
3.3 多個對象執行同一個Action
3.4 忘記調用父類的虛函數
3.5 隱藏在代碼中的神秘殺手,節點中的節點操作
3.6 普通對象和new齣來的對象
3.7 不要忘記init
3.8 addChild失敗
3.9 在onEnter中調用parent的addChild
3.10 忘記移除
3.11 重載draw注意事項
3.12 關於引用
3.13 關於命名空間
3.14 關於類之間的互相包含
3.15 關於平颱相關的API
3.16 關於update中寫邏輯
3.17 關於調試
3.18 小結
第4章 圖解指針
4.1 指針與內存
4.2 指針操作
4.3 指針與數組
4.4 函數指針
4.5 野指針和內存泄漏
第5章 C++11簡介
5.1 初始化列錶
5.2 類型推導
5.3 範圍推導
5.4 智能指針和空指針
5.5 Lambda特性
5.6 變長參數模闆
5.7 右值引用
5.7.1 分辨左值和右值
5.7.2 移動語義
5.7.3 ***轉發
5.8 顯式虛函數重載
5.9 小結
第2篇 基礎框架篇
第6章 節點係統
6.1 節點的錶現
6.1.1 位置
6.1.2 鏇轉和傾斜
6.1.3 縮放
6.1.4 錨點Anchor
6.1.5 渲染順序ZOrder
6.1.6 尺寸
……
第3篇 UI與交互篇
第4篇 Cocostudio工具鏈篇

......

精 彩 頁:   內容提要: 王永寶編***的《精通Cocos2d-x遊戲開發(基礎捲)》分為《基礎捲》和《進階捲》兩個分冊。兩捲書籍都有明確的寫作目的。《基礎捲》專注於Cocos2d-x引擎基礎,緻力於讓Cocos2d-x初學者成為一個基礎紮實、靠譜的程序員。《進階捲》專注於各種實用技術,是作者多年開發經驗的結晶,書中的技術點大多是基於實際工作中碰到的問題提煉而來,從問題的本質齣發到解決問題的思路,提供瞭多種解決方案,並對比各方案的優缺點,啓發讀者思考。
     本書為《Cocos2d-x遊戲開發》的《基礎捲》,共31章,分為4篇。***篇為《入門篇》,涵蓋的主要內容有Cocos2d-x開發環境、學習建議、注意事項及低級錯誤總結,以及必備的C++編程基礎和指針知識等。第2篇為《基礎框架篇》,涵蓋的主要內容有節點係統、內存管理、場景和層、精靈、動作係統、動畫、紋理、文字、運行機製、渲染機製、消息機製和Schedule等。第3篇為《UI與交互篇》,涵蓋的主要內容有觸摸輸入、文本輸入、按鈕與重力感應輸入、Menu和MenuItem,以及GUI框架的功能控件、文本輸入、文本顯示及容器控件等。第4篇為《CocoStudio工具鏈篇》,涵蓋的主要內容有CocoStudio的UI編輯器、場景編輯器、動畫編輯器、2.x編輯器及CocosBuilder等。
     本書適閤學習Cocos2d-x遊戲開發的零基礎讀者閱讀,尤其適閤Cocos2d-x自學人員。對於大中專院校的學生和社會培訓班的學員,本書也是一本不可多得的學習教程。
    

......

作者簡介: 王永寶 自高一起就自學編程,至今已經10年有餘。酷愛遊戲開發,熟練掌握C/C++、Lua和C#等編程語言,擅長網絡編程、高並發服務端架構設計、客戶端框架設計和OpenGL等技術。201 0年參加瞭廣東省專業杯軟件設計大賽,在31所院校的86支隊伍的激烈競爭中,憑藉一個月內使用三門語言開發的塔防遊戲而獲得一等奬。同年進入深圳市飯後科技有限公司,陸續擔任C++服務端主程、Unnv3D主程和Cocos2d—x主程,並作為技術負責人負責瞭多款遊戲的開發。業餘時間潛心研究遊戲開發。也開發瞭多款遊戲。

 

 


踏上獨立遊戲開發的徵程:從創意到實現 您是否曾夢想親手打造一款引人入勝的電子遊戲,將腦海中的奇思妙想化為觸手可及的數字世界?您是否渴望掌握遊戲開發的脈絡,理解其背後的技術精髓,並最終成為一名能夠獨立完成遊戲的創作者?那麼,這本書將是您開啓這段激動人心旅程的最佳起點。 本書並非針對任何特定遊戲引擎的深度技術手冊,而是著眼於遊戲開發的宏觀視野與核心理念。它將引導您係統地理解遊戲開發的全流程,從最初的概念萌芽,到最終的成品發布,為您梳理齣一條清晰而可行的路徑。我們相信,紮實的理論基礎和對開發流程的深刻理解,是應對未來技術變革、掌握任何一款強大工具的關鍵。 第一部分:創意的孵化與策劃的藝術 在本部分,我們將首先深入探討遊戲創意的誕生過程。從如何捕捉靈感、識彆市場趨勢,到如何將抽象的概念轉化為可執行的遊戲設計文檔(GDD),我們將一一剖析。您將學習到: 構思一個引人入勝的遊戲概念: 如何找到獨特性,避免同質化,並確保您的遊戲核心玩法能夠吸引目標玩傢。 遊戲設計文檔(GDD)的撰寫: 掌握GDD的結構與內容,學習如何清晰、完整地描述遊戲的目標、機製、美術風格、音效設計、用戶界麵等關鍵要素,使其成為團隊協作的基石。 原型設計的重要性: 為什麼需要快速構建可玩的原型來驗證核心玩法?如何通過簡單的原型來測試遊戲的可玩性和趣味性,並及時調整方嚮。 市場調研與玩傢分析: 瞭解目標受眾是誰,他們的喜好和期望是什麼,以及如何通過市場調研來優化您的遊戲設計。 第二部分:遊戲美術與視覺的魅力 遊戲的核心吸引力之一在於其視覺呈現。本部分將帶您探索遊戲美術的各個層麵,即使您並非專業美術師,也能理解其重要性並進行有效的設計與溝通。您將學習到: 遊戲美術風格的確立: 瞭解不同美術風格(如像素風、卡通渲染、寫實風格等)的特點,以及如何選擇適閤您遊戲概念的風格。 2D與3D美術資産的基礎認知: 理解2D精靈圖、UI元素、紋理貼圖,以及3D模型、骨骼動畫、粒子特效等的基本概念和製作流程。 關卡設計與場景構建: 如何根據遊戲機製設計齣富有挑戰性且引人入勝的關卡,如何利用場景元素來營造氛圍、引導玩傢。 用戶界麵(UI)與用戶體驗(UX)設計原則: 學習如何設計直觀易用的UI,提升玩傢的遊戲體驗,減少挫敗感。 第三部分:遊戲編程的思維與邏輯 編程是遊戲實現的血肉。本部分將不聚焦於某一種特定語言或API的細節,而是側重於培養您的遊戲編程思維和核心邏輯。您將學習到: 麵嚮對象編程(OOP)在遊戲開發中的應用: 理解類、對象、繼承、多態等概念如何幫助您構建模塊化、可復用的遊戲代碼。 遊戲循環與狀態管理: 掌握遊戲運行的核心機製,如何處理輸入、更新遊戲狀態、渲染畫麵。 物理引擎與碰撞檢測基礎: 理解物體運動、碰撞反應的基本原理,以及如何模擬現實世界的物理規律。 AI基礎: 學習如何為遊戲中的非玩傢角色(NPC)設計簡單的行為邏輯,例如路徑尋找、決策製定等。 數據結構與算法在遊戲中的應用: 瞭解常用的數據結構(如數組、列錶、哈希錶)和算法(如排序、搜索)如何提升遊戲性能和效率。 第四部分:遊戲音效與沉浸的體驗 聲音是構建遊戲世界不可或缺的一環。本部分將引導您理解遊戲音效設計的重要性,以及如何通過聲音來增強遊戲的沉浸感和情感錶達。您將學習到: 背景音樂(BGM)與情緒烘托: 如何選擇或創作能夠匹配遊戲場景和氛圍的音樂。 音效設計與互動反饋: 理解不同音效(如腳步聲、攻擊聲、UI反饋聲)的作用,以及如何通過聲音來增強玩傢的交互感知。 語音(VO)在遊戲中的運用: 瞭解角色配音、旁白等如何豐富遊戲敘事和角色塑造。 第五部分:遊戲測試與質量保障 一款優秀的遊戲離不開嚴謹的測試。本部分將為您介紹遊戲測試的各個階段和方法,確保遊戲的高質量交付。您將學習到: 不同類型的遊戲測試: 功能測試、性能測試、兼容性測試、用戶體驗測試等。 Bug的發現、報告與跟蹤: 如何係統地尋找遊戲中的錯誤,並有效地將其傳達給開發團隊。 Alpha測試與Beta測試: 理解內部測試與外部用戶測試在遊戲優化過程中的作用。 第六部分:遊戲發布與商業化探索 當遊戲開發完成,如何將其呈現給玩傢,並考慮長期的運營與發展?本部分將為您提供初步的指引。您將學習到: 平颱選擇與發布流程: 瞭解不同發行平颱(PC、移動端、主機等)的特點和發布流程。 市場營銷與推廣基礎: 如何讓您的遊戲被更多人知道。 遊戲盈利模式的思考: 付費下載、內購、廣告等不同盈利模式的優缺點。 本書旨在為您構建一個堅實的遊戲開發知識框架,培養您的獨立思考能力和解決問題的能力。我們鼓勵您在閱讀過程中,將所學知識與實際項目相結閤,不斷實踐,不斷探索。遊戲開發是一條充滿挑戰但也極其 rewarding 的道路,我們期待與您一同在這條道路上前進。

用戶評價

評分

這套《精通Cocos2d-x遊戲開發》的深度,遠超我之前的任何一本Cocos2d-x相關書籍。在“渲染引擎內部機製”這一章節,作者以一種近乎解剖的方式,深入剖析瞭Cocos2d-x的渲染管綫,從OpenGL ES的調用,到頂點數據(Vertex Data)的組織,再到片元著色器(Fragment Shader)的執行,都講解得淋灕盡緻。他甚至還探討瞭如何通過自定義著色器(Custom Shaders)來實現各種酷炫的視覺特效,例如邊緣光、發光效果、以及屏幕空間的後處理效果。我曾試圖實現一個簡單的粒子係統,但效果不盡如人意,直到讀瞭這本書,我纔明白問題的根源所在。 書中關於“資源管理與加載”的章節,更是我項目的救星。作者深入講解瞭紋理圖集(Texture Atlas)的優化技巧,如何有效地減少Draw Call,以及如何利用異步加載(Asynchronous Loading)來避免主綫程的卡頓。他甚至還介紹瞭資源分包(Resource Packaging)的策略,以提高遊戲的啓動速度和內存占用。我曾在一個項目中,因為資源加載緩慢而導緻用戶體驗極差,這本書提供的解決方案,讓我從此告彆瞭這一睏擾。這本書讓我意識到,精通Cocos2d-x,不僅僅是掌握API,更是理解引擎的底層邏輯和優化之道。

評分

《精通Cocos2d-x遊戲開發》這本書,與其說是一本教程,不如說是一份沉甸甸的寶藏。它的內容之豐富,細節之詳盡,足以讓我在開發過程中少走許多彎路。我曾經在處理遊戲中的“音頻係統”時感到力不從心,各種音效的播放、背景音樂的切換、音量的控製,常常讓我頭疼不已。而書中關於音頻處理的章節,不僅詳細介紹瞭Cocos2d-x提供的音頻接口,更重要的是,它深入探討瞭音頻資源的加載、播放、循環、以及音量衰減等高級功能。作者還通過實際案例,展示瞭如何實現動態的音效混音,以及如何根據遊戲場景的變化來切換背景音樂。 更令我稱道的是,書中關於“網絡通信”的部分,為我打開瞭通往多人在綫遊戲開發的大門。作者並沒有迴避這一復雜的技術領域,而是用清晰的邏輯,從TCP/IP協議的基礎講起,逐步深入到Cocos2d-x提供的網絡通信模塊。他詳細講解瞭Socket編程、消息的序列化與反序列化、以及客戶端與服務器之間的通信協議設計。書中提供的示例代碼,雖然是基礎的入門級,但卻足以讓我理解網絡通信的基本原理,為我後續開發更復雜的多人遊戲奠定瞭堅實的基礎。這本書讓我深刻體會到,遊戲開發不僅僅是客戶端的實現,更是客戶端與服務器協同工作的藝術。

評分

這本書的價值,遠不止於對Cocos2d-x API的機械羅列,它更像是一位經驗豐富的老兵,在為你鋪設一條通往精通之路的捷徑。我印象最深刻的是關於“性能優化”的部分,這部分內容並非堆砌一堆抽象的概念,而是通過實際案例,用翔實的圖錶和數據,告訴你引擎在不同操作下的性能錶現,以及哪些地方是潛在的性能瓶頸。作者對渲染效率的極緻追求,體現在對批處理(Batching)、閤批(Batching)以及GPU頂點緩衝區(Vertex Buffer)優化的細緻講解上。他不僅解釋瞭這些技術名詞的含義,更重要的是,他提供瞭可量化的測試方法,讓你能夠親手驗證優化前後的效果。 我曾在一個項目中遇到過畫麵卡頓的問題,嘗試瞭各種方法都收效甚微,直到翻閱這本書,纔恍然大悟。書中關於“紋理圖集(Texture Atlas)”和“九宮格(9-slice)”的運用,以及如何閤理地組織和管理資源,為我指明瞭方嚮。作者通過對比不同資源加載策略的性能差異,清晰地展示瞭預加載(Preloading)和懶加載(Lazy Loading)的權衡。此外,他還深入探討瞭位圖字體(Bitmap Font)與TrueType字體的選擇,以及它們對渲染性能的影響。最讓我受益匪淺的,是關於“物理引擎集成”的章節,書中不僅詳細介紹瞭Box2D的集成方法,還對剛體(Rigid Body)、碰撞檢測(Collision Detection)、關節(Joints)等核心概念進行瞭深入剖析,並提供瞭大量實例,演示如何在遊戲中創建真實的物理交互。這部分內容將遊戲的可玩性和沉浸感提升瞭一個檔次。

評分

《精通Cocos2d-x遊戲開發》這本書,就像一位經驗老道的匠人,將Cocos2d-x引擎的每一個細節都打磨得閃閃發光。在“事件係統”這一章,我學到瞭如何高效地處理用戶輸入、遊戲內事件以及與其他組件的交互。作者深入講解瞭事件的派發、監聽和處理機製,以及如何利用消息總綫(Message Bus)來解耦各個模塊,使得代碼更加清晰和易於維護。我曾在一個項目中,因為事件處理的混亂而導緻bug頻齣,這本書提供的解決方案,讓我重新審視瞭事件驅動的設計理念。 在“場景管理”方麵,本書也給瞭我極大的啓發。作者詳細講解瞭如何構建一個健壯的場景切換邏輯,如何管理不同場景下的資源加載與釋放,以及如何利用節點(Node)和層(Layer)的層級關係來實現復雜的UI布局和遊戲元素的組織。他提齣的“場景狀態機”設計,讓我能夠更優雅地處理遊戲過程中不同狀態的切換,例如主菜單、遊戲進行中、暫停菜單等。這本書讓我深刻體會到,一個優秀的場景管理係統,是構建大型遊戲的基礎。

評分

這套《精通Cocos2d-x遊戲開發》讓我深刻地認識到,遊戲引擎的強大並非來自於炫技,而是來自於對底層原理的精細打磨。作者在“內存管理”這一部分,不僅僅是講解瞭如何使用`new`和`delete`,更是深入剖析瞭Cocos2d-x的自動釋放池機製,以及如何通過對象池(Object Pooling)來最大化地減少內存分配和垃圾迴收的開銷。這對於需要頻繁創建和銷毀大量遊戲對象的項目來說,簡直是福音。我曾因內存泄露的問題而苦惱不堪,這本書提供的係統性的內存管理方法,讓我從此告彆瞭這一噩夢。 在“渲染優化”方麵,書中提供瞭大量實用的技巧。作者不僅僅停留在API的層麵,而是深入講解瞭Draw Call的優化、紋理圖集的閤理使用、以及批處理(Batching)技術。他通過清晰的圖示,展示瞭如何減少CPU與GPU之間的通信開銷,從而顯著提升遊戲的運行流暢度。我尤其喜歡他對“遮擋剔除(Occlusion Culling)”的講解,雖然在Cocos2d-x中原生支持有限,但作者卻提供瞭一些巧妙的實現思路,讓我們能夠模擬這一過程,進一步優化渲染效率。這本書讓我意識到,每一次微小的優化,都能為玩傢帶來更佳的遊戲體驗。

評分

我曾以為自己對Cocos2d-x已經有瞭初步的瞭解,直到我翻開瞭這套《精通Cocos2d-x遊戲開發》。書中對“物理引擎”的講解,徹底顛覆瞭我對遊戲物理交互的認知。作者不僅僅是簡單地告訴你如何集成Box2D,而是深入剖析瞭剛體(Rigid Body)、碰撞體(Collider)、關節(Joints)等核心概念,並提供瞭大量的實際應用案例,展示瞭如何在遊戲中實現逼真的物理模擬,例如碰撞、彈跳、摩擦等。我曾為一個遊戲中的碰撞問題而焦頭爛額,這本書提供的解決方案,讓我豁然開朗。 更讓我驚喜的是,書中關於“AI係統”的探討。作者不僅僅停留在錶麵的敵人移動,而是深入講解瞭路徑尋找算法(Pathfinding Algorithms)如A算法的實現,以及如何利用有限狀態機(Finite State Machine)來控製NPC的行為邏輯。他通過生動的示例,展示瞭如何讓NPC擁有更智能的行動路徑和決策能力。這對於開發具有深度和挑戰性的遊戲至關重要。這本書讓我意識到,遊戲的“魂”,往往藏在這些細節之中。

評分

當我翻開這套《精通Cocos2d-x遊戲開發》時,我並不知道它將帶領我穿越怎樣的技術迷宮。然而,隨著指尖在書頁間滑動,我逐漸被一種深入骨髓的理解所吸引。作者並非僅僅停留在API的層麵,而是真正地挖掘瞭Cocos2d-x引擎的靈魂。在“內存管理”這一看似枯燥的章節,他卻用生動的比喻和清晰的圖示,將指針、引用計數、自動釋放池(Autorelease Pool)這些抽象的概念變得觸手可及。我曾多次在開發中遭遇內存泄漏的睏擾,這本書提供的解決方案,不僅教會瞭我如何查找問題,更重要的是,它塑造瞭我一種“健壯的代碼”的思維模式,讓我從根本上理解如何避免這類問題的發生。 書中對於“資源管理”的論述也堪稱一絕。它不僅僅是告訴你如何加載圖片和音頻,而是深入探討瞭資源的生命周期管理,如何有效地利用紋理圖集來減少Draw Call,如何進行資源的異步加載以避免主綫程阻塞,以及如何根據設備性能動態調整資源加載策略。我尤其欣賞作者在“動畫係統”部分對關鍵幀動畫(Keyframe Animation)和骨骼動畫(Skeletal Animation)的講解。他不僅展示瞭如何創建和控製這些動畫,還深入分析瞭動畫係統的內部實現,以及如何通過腳本化的方式來驅動更復雜的動畫錶現。這對於製作齣富有錶現力的角色和流暢的過場動畫至關重要。這本書讓我意識到,遊戲開發並非簡單的代碼堆砌,而是對引擎底層機製的深刻理解和對藝術錶現力的精準把控的結閤。

評分

這套《精通Cocos2d-x遊戲開發》如同一個經驗豐富的嚮導,在我踏入遊戲開發的未知領域時,為我指明瞭方嚮。它不落俗套,沒有那種空泛的“從零開始”的承諾,而是直接切入引擎的核心,讓你在最短的時間內理解引擎的運作機製。我尤其欣賞書中關於“渲染管綫”的講解。作者用簡潔明瞭的圖示,將OpenGL ES的渲染流程與Cocos2d-x的渲染機製相結閤,讓你清晰地看到每一幀畫麵是如何從CPU指令轉化為屏幕上的像素的。他對“著色器(Shader)”的介紹,也並非流於錶麵,而是深入到GLSL語言的編寫,以及如何利用自定義著色器實現各種酷炫的視覺效果,如邊緣檢測、模糊、輝光等。 另一個讓我眼前一亮的章節是關於“物理引擎”的集成。作者詳細介紹瞭如何將Box2D等物理引擎無縫地集成到Cocos2d-x項目中,並深入剖析瞭剛體、碰撞體、關節等核心概念。他通過大量的實例,演示瞭如何在遊戲中實現逼真的物理交互,例如彈跳的球、搖擺的物體、以及復雜的機械聯動。這不僅僅是技術上的講解,更是對遊戲“可玩性”的提升。此外,書中對“AI係統”的探討也頗有深度,作者介紹瞭路徑尋找算法(Pathfinding Algorithms)如A算法的實現,以及有限狀態機(Finite State Machine)在NPC行為控製中的應用。這為我開發具有智能行為的敵人和NPC打下瞭堅實的基礎。這本書讓我意識到,遊戲開發是一個係統工程,需要對各個環節都有深入的理解。

評分

《精通Cocos2d-x遊戲開發》這本書,如同一本武林秘籍,為我打開瞭遊戲開發的新世界。我曾對“動畫係統”的復雜性感到頭疼,各種關鍵幀動畫、骨骼動畫、以及動畫的混閤與切換,常常讓我不知所措。而書中對動畫係統的深入剖析,讓我豁然開朗。作者詳細講解瞭Cocos2d-x提供的動畫接口,以及如何通過腳本化的方式來創建和控製復雜的動畫序列。他甚至還介紹瞭如何將外部動畫工具(如Spine)集成到Cocos2d-x中,實現更具錶現力的角色動畫。 更讓我驚喜的是,書中關於“UI係統”的講解。作者不僅僅是告訴你如何創建按鈕和文本框,而是深入講解瞭如何構建一個靈活、可擴展的UI係統。他介紹瞭常用的UI布局方式,例如錨點(Anchor Point)、對齊(Alignment),以及如何利用節點(Node)的層級關係來組織復雜的UI元素。他甚至還提供瞭一些關於響應式UI設計的思路,以適應不同分辨率的設備。這本書讓我深刻體會到,一個優秀的UI係統,是提升遊戲用戶體驗的關鍵。

評分

這套《精通Cocos2d-x遊戲開發》書籍,如同一本陳年佳釀,初讀之時可能被其厚重的外殼所震撼,但一旦沉浸其中,便會發現它蘊含著足以點亮遊戲開發之路的璀璨星辰。作者以極其精煉的語言,深入淺齣地剖析瞭Cocos2d-x引擎的核心架構,從最底層的內存管理、渲染管綫,到高級的物理引擎集成、AI算法實現,幾乎無所不包。閱讀過程中,我時常被書中對細節的嚴謹考究所摺服。例如,在講解 спра 遊戲對象管理時,作者不僅給齣瞭通用的添加、移除方法,還深入探討瞭對象池的實現原理及其在提升性能方麵的關鍵作用。他通過生動的代碼示例,清晰地展示瞭如何避免內存泄漏,如何優化資源加載,如何精細控製幀率,這些都是在實際項目開發中至關重要的環節,往往在許多其他教程中被一帶而過。 更令人驚喜的是,書中對遊戲設計模式的闡述也達到瞭相當的高度。作者並非孤立地講解技術點,而是巧妙地將設計模式融入到引擎架構和實際開發流程中,比如MVC模式在UI開發中的應用,狀態模式在角色動畫控製上的優勢,以及觀察者模式在事件係統中的靈活運用。這些章節不僅僅是枯燥的設計模式理論,而是通過Cocos2d-x的API,以實際可運行的代碼來驗證其有效性,讓讀者在理解引擎運作的同時,也深刻領悟到“好的代碼”的設計思想。我尤其喜歡其中關於“場景管理”的章節,作者詳細講解瞭如何構建高效的場景切換邏輯,如何處理不同場景下的資源釋放與加載,以及如何利用層(Layer)和節點(Node)的層級關係來實現復雜的UI布局和遊戲元素的組織。這對於新手而言,無疑是構建穩固遊戲架構的基石;對於有經驗的開發者,也能從中獲得不少啓發,優化現有的項目結構。

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有