在蘋果App Store 中,使用Cocos2D 及其衍生版本開發出的曾登頂榜首的遊戲數不勝數,如《Tiny Wings》、《Feed Me Oil》等。開發者應用Cocos2D 開發遊戲,需要的只是充分發揮自己的創意和想像力!
由於支援Cocos2D 的開發者眾多,現在已經衍生了多個版本,如Cocos2D-x、Cocos2D-Android、Cocos2D-HTML5 等,但每種版本的核心都幾乎完全相同。在熟練了Cocos2D 之後,只需稍微了解一下對應的平台和語言,就可以將遊戲輕鬆部署到其他多個平台上。
學會了Cocos2D,即使是一個遊戲新手,只要你有足夠的創意和想像力,也可以在極短的時間內開發出吸引人的遊戲,這大幅降低了遊戲開發的門檻和難度。遊戲開發者可以把關注的焦點放在遊戲機制本身的設計上,而非耗費大量時間學習OpenGL ES 中晦澀難懂的低階API。
雖然這本書是關於Cocos2D 的,但其中也涉及了遊戲設計與策劃、專案的測試、上傳與市場推廣等方面的知識。
本書適合讀者
● 熟悉Objective-C 和Xcode、希望透過學習Cocos2D 開發iOS 遊戲的開發人員
● 熟悉其他物件導向的語言、希望透過學習Cocos2D 開發iOS 遊戲的開發人員
● 負責iOS 遊戲專案開發與管理的產品經理
● 使用Cocos2D 開發iOS 遊戲的公司與成員
● 開設相關課程的大專院校的師生
目錄
前言
第一部分 基礎篇
第1 章 開始前的準備工作
1.1 什麼是Cocos2D
1.1.1 Cocos2D 的特點
1.1.2 Cocos2D 的主要功能
1.1.3 Cocos2D 應用
1.2 下載與安裝
1.2.1 下載Cocos2D
1.2.2 安裝Cocos2D 模版
1.2.3 建立Cocos2D-iPhone 的說明文件
1.2.4 使用Cocos2D 中內建的專案
1.3 HelloCocos2D 實例
1.3.1 建立HelloCocos2D 專案
1.3.2 增加小飛機
1.3.3 讓飛機飛行
1.4 深入學習HelloCocos2D 專案
1.4.1 初識場景和節點
1.4.2 實現程式分析
1.5 在裝置上執行HelloCocos2D專案
1.5.1 使用Xcode 的自動設定
1.5.2 在裝置上編譯執行專案
1.6 本章小結
第2 章 你的第一款iPhone 遊戲—垂直射擊遊戲
2.1 準備工作
2.2 建構遊戲場景
2.2.1 增加資原始目錄
2.2.2 增加遊戲背景
2.2.3 增加玩家飛機
2.2.4 增加敵機
2.3 玩家互動
2.3.1 增加加速計移動
2.3.2 增加子彈並射擊
2.4 碰撞檢測
2.5 遊戲音效
2.6 最後的點綴
2.6.1 增加計分和玩家生命值
2.6.2 增加遊戲勝利和結束畫面
2.7 本章小結
第3 章 Cocos2D 核心類別
3.1 Cocos2D 節點基礎知識
3.1.1 節點層級圖
3.1.2 什麼是錨點
3.2 CCNode 節點類別
3.2.1 CCNode 類別的屬性
3.2.2 CCNode 類別的方法
3.3 CCScene 場景類別
3.3.1 CCTransitionScene 場景切換
3.3.2 Cocos2D 支援的場景過渡效果
3.4 CCLayer 層類別
3.4.1 CCLayer 類別的作用
3.4.2 CCLayerColor 色彩層
3.4.3 CCLayerGradient 漸層色層
3.4.4 CCMenu 選單類別
3.5 CCTexture 紋理類別
3.5.1 紋理和紋理圖集
3.5.2 CCTexture2D、CCTextureCache 和CCTextureAtlas
3.6 CCSprite 精靈類別
3.6.1 CCSprite 類別的屬性及方法
3.6.2 CCSpriteBatchNode 精靈表單
3.6.3 CCSpriteFrame 精靈框
3.6.4 CCSpriteFrameCache 精靈框快取
3.7 Cocos2D 中的單例
3.7.1 Cocos2D 中的常用單例
3.7.2 CCDirector 導演類別
3.8 垂直射擊遊戲—載入遊戲資料
3.8.1 註釋draw 方法和背景
3.8.2 載入遊戲資源
3.8.3 修改AppDelegate.m 檔案
3.8.4 修改HelloWorldLayer
3.8.5 程式重構
3.9 本章小結
第4 章 Cocos2D 中的動作、特效與動畫
4.1 Cocos2D 中的節點動作
4.1.1 執行ActionsTest 測試
4.1.2 Cocos2D 中的動作類別
4.2 動作的分類及使用
4.2.1 基本動作
4.2.2 組合動作
4.2.3 Ease 動作
4.2.4 延遲動作
4.2.5 方法回呼動作
4.2.6 區塊敘述呼叫動作
4.2.7 反轉動作
4.2.8 特殊動作
4.3 垂直射擊遊戲:載入進度指示器與捲動背景
4.3.1 使用CCProgressTo 和CCProgressFromTo 動作增加進度指示器
4.3.2 使用CCFollow 和CCParallaxNode 動作增加捲動背景
4.4 Cocos2D 中的特效
4.4.1 Cocos2D 中的網格
4.4.2 特效的種類及使用
4.4.3 讓節點物件傳回最初狀態
4.5 Cocos2D 中的動畫
4.5.1 Cocos2D 中與動畫相關的類別
4.5.2 在Cocos2D 中實現動畫效果
4.6 使用Zwoptex 工具實現動畫效果
4.6.1 安裝Zwoptex 工具
4.6.2 製作精靈表單
4.6.3 製作精靈動畫
4.7 垂直射擊遊戲—增加飛行和爆炸動畫
4.7.1 增加玩家飛機飛行動畫
4.7.2 增加飛機爆炸效果
4.8 本章小結
第5 章 Cocos2D 中的文字繪製系統
5.1 文字繪製系統的組成
5.1.1 CCLabelTTF 類別
5.1.2 CCLabelAtlas 類別
5.1.3 CCLabelBMFont 類別
5.2 標籤的對齊方式
5.3 使用協力廠商工具建立字型紋理圖集
5.3.1 Hiero 工具的使用方法
5.3.2 建立字型圖集步驟
5.4 垂直射擊遊戲—美化遊戲介面
5.4.1 繪製文字
5.4.2 實現倒計時功能
5.5 本章小結
第6 章 Cocos2D 中的事件處理機制
6.1 iOS 中的互動事件處理
6.1.1 什麼是使用者輸入事件
6.1.2 多點觸控事件處理機制
6.1.3 重力感應事件處理機制
6.2 Cocos2D 中的觸控事件處理
6.2.1 如何處理觸控事件
6.2.2 模版中附帶的TouchesTest專案
6.2.3 實戰—隨手指移動的小球
6.3 Cocos2D 中的重力感應事件
6.3.1 如何處理重力感應事件
6.3.2 實戰—受加速計控制的小球
6.4 垂直射擊遊戲—暫停遊戲
6.4.1 PauseLayer 類別的實現
6.4.2 CustomMenu 類別的實現
6.4.3 遊戲主場景增加暫停層
6.4.4 PauseLayerProtocol 代理
6.5 本章小結
第7 章 Cocos2D 世界的聲音
7.1 認識CocosDenshion 音效引擎
7.1.1 CocosDenshion 重要API
7.1.2 CocosDenshion 相關類別
7.1.3 Cocos2D 支援的CocosDenshion
7.2 SimpleAudioEngine 使用方法
7.2.1 增加背景音樂
7.2.2 控制音樂的播放和停止
7.2.3 判斷目前是否播放背景音樂
7.2.4 增加音效
7.3 CDSoundEngine 使用方法
7.3.1 設定CDSoundEngine
7.3.2 播放背景音樂和音效
7.4 遊戲選單中的聲音設定選項
7.5 垂直射擊遊戲—GameOver
7.5.1 實現背景音樂暫停功能
7.5.2 實現選單場景
7.5.3 實現排行榜場景
7.5.4 實現GameOver 場景
7.6 本章小結
第8 章 在Cocos2D 中使用圖磚
8.1 認識圖磚
8.2 Tiled 地圖編輯器
8.2.1 安裝Tiled
8.2.2 用Tiled 繪製地圖
8.2.3 在地圖中增加物件
8.3 在專案中使用圖磚
8.3.1 TMX 檔案解析
8.3.2 Cocos2D 中的圖磚類別
8.3.3 在專案中載入TMX 地圖
8.3.4 使用TMX 地圖中的物件
8.4 超級瑪利歐—實現簡單的原型
8.4.1 準備工作
8.4.2 建立高畫質版本Tiled 地圖
8.4.3 在程式裡載入Tiled 地圖
8.4.4 利用WBTMXTool 工具製作普通畫質版本Tiled 地圖
8.4.5 增加搖桿
8.5 本章小結.
第9 章 物理引擎—更真實的Cocos2D世界
9.1 遊戲物理引擎概況
9.1.1 物理引擎的應用
9.1.2 常見的遊戲物理引擎
9.2 認識Box2D
9.2.1 Box2D 碰撞檢測和處理系統
9.2.2 Box2D 中的核心概念
9.3 範例專案HelloBox2D 詳解
9.3.1 使用模版建立HelloBox2D專案
9.3.2 解讀HelloBox2D 預設專案程式
9.3.3 增強HelloBox2D 專案
9.4 Box2D 實戰—物理射擊遊戲
9.4.1 準備工作
9.4.2 建立會轉動手臂的小人
9.4.3 發射子彈
9.4.4 使用PhysicEditor 工具製作凹槽
9.4.5 凹槽實現升降機效果
9.4.6 處理碰撞感測器
9.4.7 加入更多障礙
9.5 超級瑪利歐—Box2D 與Tiled結合
9.5.1 增加瑪利歐和物體的物理屬性
9.5.2 使瑪利歐行走和跳躍
9.5.3 為遊戲中的金幣和箱子增加物理屬性
9.5.4 碰撞檢測—吃金幣
9.5.5 遊戲特效—吸金幣
9.5.6 加入遊戲音效
9.5.7 設計勝利和失敗條件
9.6 本章小結
第二部分 實戰篇
第10 章 Angel Panda 遊戲的設計與實現
10.1 iOS 遊戲完整的製作流程
10.2 Angel Panda 遊戲設計
10.2.1 Angel Panda 的創意來源
10.2.2 Angel Panda 的故事背景及遊戲規則
10.2.3 Angel Panda 的遊戲體驗流程
10.3 開發前的準備工作
10.3.1 下載並安裝合適的開發工具
10.3.2 將專案分解成不同的模組
10.3.3 準備遊戲中所需要的資源
10.4 Angel Panda 遊戲的實現
10.4.1 使用Cocos2D 模版建立新專案
10.4.2 設定遊戲主場景
10.4.3 增加遊戲角色
10.4.4 增加使用者互動機制
10.4.5 增加遊戲邏輯
10.4.6 增加音效
10.5 本章小結
第11 章 AngryPanda 遊戲的設計與框架架設
11.1 AngryPanda 遊戲設計
11.1.1 AngryPanda 的創意來源
11.1.2 AngryPanda 的故事背景及遊戲規則
11.1.3 AngryPanda 的遊戲體驗流程
11.2 開發前的準備工作
11.2.1 下載並安裝合適的開發工具
11.2.2 將專案分解成不同的模組
11.2.3 準備遊戲需要的資源
11.2.4 使用Box2D 模版建立新專案
11.3 資料儲存和遊戲設定
11.3.1 建立和實現GameData類別
11.3.2 GameData 類別中的重要方法
11.3.3 建立Constants.h 標頭檔
11.4 遊戲中的音效管理
11.4.1 建立GameSounds 類別
11.4.2 GameSounds 類別中的重要方法
11.5 遊戲中的輔助介面
11.5.1 遊戲開始介面
11.5.2 遊戲介紹介面
11.5.3 關卡選擇介面
11.5.4 關卡結束介面
11.6 本章小結
第12 章 Angry Panda 遊戲主場景的實現
12.1 Box2D 世界的物體
12.1.1 建立抽象物體類別
12.1.2 建立熊貓角色
12.1.3 建立平台物體
12.1.4 建立外星怪物
12.1.5 建立遮擋物體
12.1.6 建立並放置攻擊目標
12.2 實現遊戲的主場景
12.2.1 建立MainScene 類別
12.2.2 場景的視覺呈現
12.2.3 如何與使用者互動
12.2.4 實現遊戲的邏輯機制
12.3 遊戲中的碰撞檢測機制
12.3.1 建立ContactListener類別
12.3.2 碰撞檢測機制的實現
12.4 本章小結
第三部分 高級篇
第13 章 粒子系統
13.1 Cocos2D 中的粒子系統
13.1.1 粒子系統相關的類別
13.1.2 Cocos2D 內建的粒子系統
13.2 手動建立粒子系統範例
13.2.1 建立ParticleEffect 專案
13.2.2 增加Cocos2D 內建的粒子系統
13.2.3 手動建立粒子系統類別
13.2.4 設定粒子系統的屬性
13.3 plist 檔案
13.3.1 particle.plist 檔案內容
13.3.2 使用plist 檔案建立粒子系統
13.4 粒子工具Particle Designer
13.4.1 下載安裝Particle Designer
13.4.2 Particle Designer 工具列
13.4.3 如何設定Emitter Config屬性
13.4.4 如何在專案中使用粒子系統
13.5 本章小結
第14 章 CocosBuilder 和Shader
14.1 CocosBuilder 初體驗
14.1.1 下載安裝CocosBuilder
14.1.2 檢視Example 目錄結構
14.1.3 如何開啟範例檔案
14.2 第一個CocosBuilder 專案
14.2.1 建立HelloWorldCocosBuilder場景
14.2.2 載入HelloWorldCocosBuilder場景
14.2.3 建立文件與程式的連接
14.2.4 增強HelloWorldCocosBuilder場景
14.3 HelloWorldCocosBuilder 專案功能增強
14.3.1 製作GameMenu 場景
14.3.2 製作About 場景
14.3.3 發佈ZIP 格式場景資源檔
14.3.4 如何支援多個裝置解析度
14.4 著色器
14.4.1 著色器的種類及工作原理
14.4.2 撰寫自己的Shader 程式
14.4.3 如何為Sprite 訂製頂點著色器
14.4.4 如何訂製部分著色器
14.4.5 旋風效果範例
14.5 本章小結
第15 章 在遊戲中增加對Game Center的支援
15.1 什麼是Game Center
15.1.1 Game Center 的功能
15.1.2 Game Center 的特點
15.2 在專案中增加對Game Center 的支援
15.2.1 註冊iOS 開發者帳號
15.2.2 為應用建立並設定App ID
15.2.3 在iTunes Connect 中註冊應用程式
15.2.4 開啟對Game Center 的支援
15.2.5 在iTunes Connect 中增加成就系統
15.2.6 在iTunes Connect 中設定積分排行榜
15.3 範例專案GKTapper 詳解
15.3.1 增加Game Kit 框架
15.3.2 檢查Game Center 是否可用
15.3.3 驗證玩家是否登入GameCenter
15.3.4 實現成就系統
15.3.5 實現積分排行榜
15.4 本章小結
第16 章 在遊戲中增加對IAP 的支援
16.1 什麼是IAP
16.1.1 IAP 的功能
16.1.2 IAP 中的商品類型
16.1.3 IAP 實現機制
16.2 Store Kit Framework 介紹
16.2.1 Store Kit Framework 中的購買核心類別
16.2.2 Store Kit Framework 中的商品核心類別
16.2.3 SKDownload 類別
16.2.4 Store Kit Framework 中的協定
16.3 在iTunes Connect 設定IAP
16.3.1 在iTunes Connect 中增加商品資訊
16.3.2 在iTunes Connect 中增加沙盒測試帳號
16.4 在專案中增加與IAP 相關的程式
16.4.1 IAPGame 專案簡介
16.4.2 在專案中增加Store Kit框架
16.4.3 增加MyStore 類別
16.5 在裝置中測試並傳送審核
16.6 本章小結
第17 章 遊戲效能分析與最佳化
17.1 如何發現效能瓶頸
17.1.1 Instruments 基本功能
17.1.2 Instruments 中內建的分析工具
17.1.3 如何使用Time Profiler 工具模版
17.1.4 如何使用OpenGL ES Driver 工具模版
17.1.5 使用空白模版建立訂製分析工具
17.2 Cocos2D 內建的效能分析工具
17.2.1 CCProfiler 和CCProfilingTimer
17.2.2 如何使用效能分析工具
17.3 最佳化Cocos2D 遊戲效能
17.3.1 在Cocos2D 中開啟自動參考計數
17.3.2 使用CCSpriteBatchNode替代CCSprite
17.3.3 提升遊戲效能的其他技巧
17.4 本章小結
第18 章 產品的測試、發佈與推廣
18.1 使用者體驗測試
18.1.1 測試使用者的選擇
18.1.2 產品測試的步驟
18.2 產品的上傳與發佈
18.2.1 加入iOS 開發者計畫
18.2.2 在App Store 中發佈產品
18.3 App 產品的宣傳與推廣
18.3.1 產品推廣的原因
18.3.2 產品推廣的方法
18.4 本章小結
第19 章 Cocos2D 的延伸
19.1 Cocos3D 簡介
19.1.1 Cocos3D 的基本特性
19.1.2 Cocos3D 核心類別簡介
19.1.3 下載並安裝Cocos3D
19.2 Cocos2D-x 簡介
19.2.1 建立iOS 版的HelloWorld專案
19.2.2 建立以Cocos2D-x 為基礎的Android 專案
19.3 Cocos2D-HTML5 詳解
19.3.1 Cocos2D-HTML5 簡介
19.3.2 下載安裝Cocos2D-HTML5
19.3.3 安裝設定WebServer(可選)
19.3.4 解析helloHTML5World專案
19.4 Cocos2D-Python 簡介
19.5 本章小結
前言
第一部分 基礎篇
第1 章 開始前的準備工作
1.1 什麼是Cocos2D
1.1.1 Cocos2D 的特點
1.1.2 Cocos2D 的主要功能
1.1.3 Cocos2D 應用
1.2 下載與安裝
1.2.1 下載Cocos2D
1.2.2 安裝Cocos2D 模版
1.2.3 建立Cocos2D-iPhone 的說明文件
1.2.4 使用Cocos2D 中內建的專案
1.3 HelloCocos2D 實例
1.3.1 建立HelloCocos2D 專案
1.3.2 增加小飛機
1.3.3 讓飛機飛行
1.4 深入學習HelloCocos2D 專案
1.4.1 初識場景和節點
1.4.2 實現程式分析
1.5 在裝置上執行HelloCocos2D專案
1.5.1 使用Xcode 的...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。