第1章 cocos2d-x引擎的介紹
1.1 何為游戲引擎
1.1.1 游戲的核心——引擎
1.1.2 引擎的特點
1.1.3 知名的引擎介紹
1.1.4 引擎的分類
1.2 cocos2d-x引擎的來歷
1.3 引擎的版本
1.4 下載與安裝
1.5 引擎的組成
1.6 技術文檔
1.7 成功的游戲
1.8 cocos2d-x引擎的體系
1.9 cocos2d-x引擎的版權聲明
1.10 本章小結
第2章 cocos2d-x引擎的開發環境
2.1 跨平臺的開發
2.2 建立開發環境
2.2.1 pc開發環境
2.2.2 android開發環境
2.2.3 ios開發環境
2.3 引擎中的混合編譯
2.3.1 java與c++的混合編譯
2.3.2 objective-c與c++的混合編譯
2.4 引擎的起點
2.4.1 應用程序入口
2.4.2 引擎應用入口
2.5 豐富的示例程序
2.5.1 testcpp示例項目
2.5.2 腳本示例項目
2.5.3 moonwarriors示例項目
2.6 本章小結
第3章 引擎的核心——渲染框架
3.1 基本框架
3.1.1 引擎的位置
3.1.2 根源種子
3.1.3 子類結構
3.2 渲染框架
3.2.1 框架結構
3.2.2 攝像機類(cccamera)
3.2.3 導演類(ccdirector)
3.2.4 場景類(ccscene)
3.2.5 圖層類(cclayer)
3.2.6 精靈類(ccsprite)
3.2.7 精靈集合類(ccspritebatchnode)
3.2.8 精靈幀緩沖(ccspriteframecache)
3.2.9 zwoptex紋理編輯器
3.3 文字與字體
3.3.1 ttf類型標簽(cclabelttf)
3.3.2 bmfont標簽類(cclabelbmfont)
3.3.3 atlas標簽類(cclabelatlas)
3.4 菜單按鈕
3.5 幾何繪制drawprimitives
3.6 cocosbuilder編輯器
3.6.1 cocosbuilder使用指南
3.6.2 引擎中的應用
3.7 本章小結
第4章 動作功能
4.1 概述
4.2 動作基類
4.2.1 動作類的繼承關系
4.2.2 動作基類ccaction的成員函數
4.2.3 類ccnode中與動作有關的函數
4.3 時間動作
4.3.1 即時動作
4.3.2 持續動作
4.4 組合動作類
4.4.1 序列動作類(ccsequence)
4.4.2 同步動作類(ccspawn)
4.4.3 重復動作類(ccrepeat &ccrepeatforever)
4.5 可變速度類(cceaseaction)
4.5.1 cceasein、cceaseout和cceaseinout
4.5.2 easesinein、easesineout和easesineinout
4.5.3 cceasebackin、cceasebackout和cceasebackinout
4.5.4 easeexponentialin、easeexponentialout和easeexponentialinout
4.5.5 cceasebouncein、ccbounceout和ccbounceinout
4.5.6 cceaseelasticin、cceaseelasticout和cceaseelasticinout
4.6 速度類(ccspeed)
4.7 延遲動作類(ccdelay)
4.8 跟隨動作類(ccfollow)
4.9 擴展動作類
4.9.1 概述
4.9.2 翻頁動作(ccpageturn3d)
4.9.3 波紋動作(ccwaves3d)
4.9.4 格子動作類(ccgridaction)
4.10 動畫動作類
4.10.1 精靈幀
4.10.2 精靈幀緩沖
4.10.3 動畫類
4.10.4 動畫動作
4.11 動畫編輯器
4.11.1 概述
4.11.2 cocosbuilder編輯器中的精靈動畫
4.11.3 spritex草莓編輯器
4.11.4 motionwelder動畫編輯器
4.12 樣例程序
4.13 本章小結
第5章 用戶交互
5.1 概述
5.2 玩家交互信息
5.3 觸摸操作的處理機制
5.4 接收操作
5.5 分發機制
5.6 處理響應
5.7 多點觸碰
5.8 加速計的響應函數
5.9 本章小結
第6章 游戲背景
6.1 概述
6.2 2d游戲背景的類型
6.3 磚塊地圖tile map
6.4 磚塊地圖編輯器
6.4.1 地圖編輯器概述
6.4.2 tile map editor(磚塊地圖編輯器)
6.4.3 制作一張游戲地圖
6.4.4 編輯器中的屬性功能
6.5 地圖數據的格式
6.5.1 編輯器導出的文件
6.5.2 地圖文件分析
6.6 磚塊地圖的實現
6.6.1 磚塊地圖類cctmxtiledmap
6.6.2 地圖圖層類cctmxlayer
6.6.3 地圖物體層cctmxobjectgroup
6.7 示例項目
6.8 背景的滾動與角色移動
6.9 多層背景滾動效果
6.10 本章小結
第7章 物理模擬與碰撞檢測
7.1 概述
7.2 游戲中的碰撞檢測
7.3 碰撞檢測的方法
7.3.1 平面幾何在碰撞檢測中的應用
7.3.2 物體的包圍盒
7.3.3 aabb碰撞檢測技術
7.4 基本物理知識
7.5 你好!box2d!
7.5.1 概述
7.5.2 物理世界
7.5.3 游戲中的兩個世界
7.6 box2d的基礎知識
7.6.1 概述
7.6.2 概念定義
7.6.3 物理引擎的模塊
7.7 引擎內核
7.7.1 基本配置
7.7.2 內存管理機制
7.7.3 工廠模式
7.7.4 數據單位
7.7.5 用戶數據
7.8 物理世界world
7.8.1 創建和摧毀一個世界
7.8.2 讓世界運轉起來
7.8.3 探索世界
7.8.4 aabb查詢
7.8.5 光線投射(ray casts)
7.9 形狀shapes
7.9.1 碰撞模塊
7.9.2 形狀shape的作用
7.9.3 圓形(circle shapes)
7.9.4 多邊形(b2polygonshape)
7.10 框架fixtures
7.10.1 動態模塊(dynamicsmodule)
7.10.2 框架(fixtures)
7.10.3 密度(density)
7.10.4 摩擦(friction)
7.10.5 恢復(restitution)
7.10.6 篩選(filtering)
7.10.7 感應器(sensors)
7.11 物體bodies
7.11.1 物體定義
7.11.2 位置和角度(position and angle)
7.11.3 阻尼(damping)
7.11.4 休眠參數(sleep parameters)
7.11.5 固定旋轉(fixed rotation)
7.11.6 子彈(bullets)
7.11.7 活動狀態(activation)
7.11.8 用戶數據(user data)
7.12 關節(joints)
7.12.1 關節的定義(jointdef)
7.12.2 關節的屬性
7.12.3 距離關節(distance joint)
7.12.4 旋轉關節(revolute joint)
7.12.5 移動關節(prismatic joint)
7.12.6 滑輪關節(pulley joint)
7.12.7 齒輪關節(gear joint)
7.12.8 鼠標關節(mouse joint)
7.12.9 線性關節(line joint)
7.12.10 焊接關節(weld joint)
7.13 接觸(contants)
7.13.1 概述
7.13.2 接觸類(contact class)
7.13.3 訪問接觸(accessing contacts)
7.13.4 接觸監聽器(contact listener)
7.13.5 接觸篩選(contact filtering)
7.14 示例項目
7.14.1 box2dtest示例項目
7.14.2 調試繪圖debugdraw
7.14.3 創建精靈剛體
7.15 本章小結
第8章 游戲中的聲音
8.1 概述
8.2 音樂與音效
8.3 聲音格式
8.4 cocosdenshion聲音模塊
8.5 背景音樂操作函數
8.6 聲音音效操作函數
8.7 示例程序
8.8 本章小結
第9章 文件操作模塊
9.1 概述
9.2 引擎文件操作模塊
9.3 讀取文件
9.4 寫入文件
9.5 游戲中用戶數據
9.5.1 游戲中的用戶數據
9.5.2 用戶數據的基本類型
9.5.3 讀取與寫入操作
9.6 示例程序
9.7 本章小結
第10章 內存管理機制
10.1 內存管理概述
10.2 引用計數
10.3 自動釋放池
10.3.1 使用方法
10.3.2 實現原理
10.4 管理模式
10.4.1 引擎當中的應用
10.4.2 緩沖區
10.5 日志調試方式
10.6 本章小結
第11章 粒子系統
11.1 概述
11.2 粒子效果
11.3 粒子系統的來歷
11.4 引擎當中的粒子系統
11.5 粒子的生命周期
11.6 粒子的屬性
11.7 粒子發射器屬性
11.7.1 發射器共有的屬性
11.7.2 重力發射器模式(gravity)
11.7.3 半徑發射器模式(radius)
11.8 粒子效果編輯器
11.8.1 概述
11.8.2 particle designer的使用方法
11.8.3 引擎中應用
11.9 本章小結
第12章 lua腳本語言
12.1 概述
12.2 lua腳本語言簡介
12.3 為什么需要它?
12.3.1 簡易性
12.3.2 可擴展性
12.3.3 高效性
12.3.4 可移植性
12.4 lua腳本語言的語法
12.4.1 類型與數值
12.4.2 表達式
12.4.3 語句
12.4.4 函數
12.5 lua在引擎中的應用
12.5.1 lua與c/c++
12.5.2 引擎中的腳本引擎
12.6 樣例程序
12.6.1 腳本引擎初始化
12.6.2 游戲內容的實現腳本
12.6.3 農場層的實現
12.6.4 菜單層的實現
12.7 本章小結
第13章 cocos2d-html5引擎版本
13.1 概述
13.2 html的發展史
13.2.1 html版本
13.2.2 xhtml版本
13.2.3 html5是未來之星
13.3 html5新特性
13.3.1 跨平臺的特性
13.3.2 canvas api
13.3.3 webgl
13.3.4 其他特性
13.4 javascript語言基礎
13.4.1 概述
13.4.2 變量
13.4.3 數據類型
13.4.4 運算符
13.4.5 語句
13.4.6 對象
13.4.7 函數
13.4.8 事件
13.5 cocos2d-html5引擎
13.5.1 html5版本介紹
13.5.2 安裝引擎
13.5.3 示例程序
13.5.4 引擎的架構
13.6 js binding技術的實現
13.6.1 概述
13.6.2 spidermonkey
13.6.3 示例程序
13.7 本章小結
第14章 引擎之外的附加功能
14.1 概述
14.2 網絡通信支持
14.2.1 http介紹
14.2.2 curl庫(libcurl)
14.2.3 http在引擎中的應用
14.2.4 http示例項目
14.2.5 socket的介紹
14.2.6 bsd socket在引擎中的應用
14.3 收費模式
14.3.1 下載計費
14.3.2 內置計費
14.3.3 廣告版本
14.4 社交網絡在游戲中的應用
14.4.1 game center
14.4.2 openfeint
14.5 數據分析
14.5.1 flurry介紹
14.5.2 友盟
第15章 cocos2d-x引擎的未來
15.1 概述
15.2 cocos2d引擎的走勢
15.3 cocos2d-x引擎的不足
15.3.1 豐富的ui
15.3.2 完善的工具
15.3.3 支持網絡通信
15.3.4 版本的統一
15.3.5 數據安全
15.4 cocos2d-x引擎增強的功能
15.4.1 良好的中文支持
15.4.2 游戲基本框架
15.4.3 游戲邏輯支持
15.4.4 腳本化編程
15.4.5 可視化的操作界面
15.5 會不會有cocos3d
15.6 本章小結