庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
二樓書籍分類
 
同時成為iOS/Android開發大師:使用Cocos2d-x及C++

同時成為iOS/Android開發大師:使用Cocos2d-x及C++

沒有庫存
訂購需時10-14天
9789863791430
關東升
佳魁資訊
2015年4月30日
240.00  元
HK$ 204  






ISBN:9789863791430
  • 規格:平裝 / 816頁 / 17 x 23 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > C/C++











      Cocos2d-x 自發佈第一個版本以來,如今使用者已遍佈全球,數不清的採用Cocos 引擎開發的遊戲橫掃各個暢銷榜單。



      Cocos2d-x 遊戲引擎的優勢在於「在一個平台下開發,多平台發佈」。



      許多知名的開發團隊都已使用Cocos2d-x 開發遊戲。



      本書使用Cocos2d-x 的C++ 語言API,並包含100 多個完整的案例專案原始程式碼,開發者可以快速進行實際專案開發,輕鬆體驗『做中學』










    第1 篇 基礎篇



    Chapter 01?? 準備開始

    1.1 本書學習路線

    1.2 使用實例程式



    Chapter 02? Cocos2d-x 介紹與環境架設

    2.1 行動平台遊戲引擎介紹

    2.2 Cocos2d 家譜

    2.3 Cocos2d-x 設計目標

    2.4 在Windows 平台下開始開發Cocos2d-x 遊戲

    2.4.1 使用Visual Studio 開發工具

    2.4.2 下載和使用Cocos2d-x 案例

    2.4.3 產生API 文件



    Chapter 03? Hello Cocos2d-x?? ?

    3.1 第一個Cocos2d-x 遊戲

    3.1.1 建立專案

    3.1.2 專案檔案結構

    3.1.3 程式解釋

    3.2 Cocos2d-x 核心概念

    3.2.1 導演

    3.2.2 場景

    3.2.3 層

    3.2.4 精靈

    3.2.5 選單

    3.3 Node 與Node 層級架構

    3.3.1 Node 中重要的操作

    3.3.2 Node 中重要的屬性

    3.3.3 遊戲循環與排程

    3.4 Cocos2d-x 座標系

    3.4.1 UI 座標

    3.4.2 OpenGL 座標

    3.4.3 世界座標和模型座標

    3.5 Win32 平台下設定螢幕



    Chapter 04? 字串、標籤和選單?? ?

    4.1 Cocos2d-x 中的字串1

    4.1.1 使用const char* 和std::string

    4.1.2 使用cocos2d::__String

    4.1.3 Win32 平台下中文亂碼問題

    4.2 使用標籤

    4.2.1 LabelTTF

    4.2.2 LabelAtlas

    4.2.3 LabelBMFont

    4.2.4 Cocos2d-x 3.x 標籤類別Label

    4.2.5 標籤中文亂碼問題

    4.3 使用選單

    4.3.1 文字選單

    4.3.2 精靈選單和圖片選單

    4.3.3 開關選單



    Chapter 05? 精靈???????????????????????? ?

    5.1 Sprite 精靈類別

    5.1.1 建立Sprite 精靈物件

    5.1.2 實例:使用紋理物件建立Sprite 物件

    5.2 精靈的效能最佳化

    5.2.1 使用紋理圖集

    5.2.2 使用精靈影格快取



    Chapter 06? 場景與層?? ?

    6.1 場景與層的關係 -

    6.2 場景切換

    6.2.1 場景切換相關函數

    6.2.2 場景過場動畫

    6.3 場景的生命週期

    6.3.1 生命週期函數

    6.3.2 多場景切換生命週期



    Chapter 07?? 動作、特效和動畫

    7.1 動作

    7.1.1 暫態動作

    7.1.2 間隔動作

    7.1.3 組合動作

    7.1.4 動作速度控制

    7.1.5 函數呼叫

    7.2 特效

    7.2.1 網格動作

    7.2.2 實例:特效示範

    7.3 動畫

    7.3.1 頁框動畫

    7.3.2 實例:頁框動畫使用



    Chapter 08?? Cocos2d-x 使用者事件

    8.1 事件處理機制

    8.1.1 事件分發器

    8.1.2 觸控事件

    8.1.3 實例:單點觸控事件

    8.1.4 實例:使用Lambda 運算式

    8.1.5 鍵盤事件

    8.1.6 滑鼠事件

    8.2 Mouse Down detected, onMouseUp 在層中進行事件處理

    8.2.1 觸控事件

    8.2.2 實例:單點觸控事件

    8.3 加速度計與加速度事件

    8.3.1 加速度計

    8.3.2 使用事件分發器

    8.3.3 使用層加速度計事件

    8.3.4 實例:運動的小球



    第2 篇 進階篇



    Chapter 09?? 遊戲背景音樂與音效

    9.1 Cocos2d-x 中音訊檔案

    9.1.1 音訊檔案介紹

    9.1.2 Cocos2d-x 跨平台音訊支援

    9.2 使用CocosDenshion 引擎

    9.2.1 音訊檔案的前置處理

    9.2.2 播放背景音樂

    9.2.3 停止播放背景音樂

    9.2.4 背景音樂播放暫停與繼續

    9.3 實例:設定背景音樂與音效

    9.3.1 AppDelegate 實現

    9.3.2 HelloWorld 場景實現

    9.3.3 設定場景實現



    Chapter 10? 粒子系統

    10.1 問題的提出

    10.2 粒子系統基本概念

    10.2.1 實例:打火機

    10.2.2 粒子發射模式

    10.2.3 粒子系統屬性

    10.3 Cocos2d-x 內建粒子系統

    10.3.1 內建粒子系統

    10.3.2 實例:內建粒子系統

    10.4 自訂粒子系統

    10.4.1 程式建立

    10.4.2 plist 檔案建立



    Chapter 11?? 圖磚地圖

    11.1 地圖效能問題

    11.2 Cocos2d-x 中圖磚地圖API

    11.3 實例:忍者無敵

    11.3.1 設計地圖

    11.3.2 程式中載入地圖

    11.3.3 移動精靈

    11.3.4 檢測碰撞

    11.3.5 捲動地圖



    Chapter 12?? 物理引擎

    12.1 使用物理引擎

    12.1.1 物理引擎核心概念

    12.1.2 物理引擎與精靈關係

    12.2 Cocos2d-x 3.0 中物理引擎封裝

    12.2.1 Cocos2d-x 3.x 物理引擎API

    12.2.2 實例:HelloPhysicsWorld

    12.2.3 實例:碰撞檢測

    12.2.4 實例:使用關節

    12.3 Box2D 引擎

    12.3.1 Box2D 核心概念

    12.3.2 使用Box2D 物理引擎的一般步驟

    12.3.3 Visual Studio 2012 下Box2D 開發環境設定

    12.3.4 實例:HelloBox2D

    12.3.5 實例:碰撞檢測

    12.3.6 實例:使用關節



    第3 篇? 資料與網路篇



    Chapter 13? Cocos2d-x 中使用的資料容器類別

    13.1 Cocos2d-x 中兩大類 —— Ref 和Value

    13.1.1 Cocos2d-x 根類別Ref

    13.1.2 包裝類別Value

    13.2 Ref 列表容器

    13.2.1 __Array 容器

    13.2.2 實例:__Array 容器

    13.2.3 Vector 容器

    13.2.4 實例:Vector 容器

    13.3 Ref 字典容器

    13.3.1 __Dictionary 容器

    13.3.2 實例:__Dictionary 容器

    13.3.3 Map 容器

    13.3.4 實例:Map 容器

    13.4 Value 列表容器 —— ValueVector

    13.4.1 ValueVector 常用API

    13.4.2 實例:使用ValueVector 容器

    13.5 Value 字典容器 —— ValueMap 和ValueMapIntKey

    13.5.1 ValueMap 和ValueMapIntKey 常用API

    13.5.2 實例:使用ValueMap 容器



    Chapter14?? 檔案存取與資料持久化

    14.1 使用FileUtils 存取檔案

    14.1.1 Cocos2d-x 中的目錄

    14.1.2 實例:檔案讀寫

    14.1.3 實例:路徑搜索

    14.2 持久化概述

    14.3 UserDefault 資料持久化

    14.3.1 UserDefault API

    14.3.2 實例:儲存背景音樂和音效設定

    14.4 屬性清單資料持久化

    14.4.1 屬性清單概述

    14.4.2 實例:MyNotes

    14.4.3 使用__Dictionary 讀寫屬性清單檔案

    14.4.4 使用ValueMap 讀寫屬性清單檔案

    14.4.5 使用ValueVector 讀取屬性清單檔案

    14.5 SQLite 資料庫資料持久化

    14.5.1 SQLite 資料庫介紹

    14.5.2 Visual Studio 下SQLite 資料庫開發環境設定

    14.5.3 實例:重構MyNotes

    14.5.4 建立資料庫

    14.5.5 SQLite 資料庫管理工具

    14.5.6 查詢資料

    14.5.7 修改資料



    Chapter15?? 資料交換格式

    15.1 CSV 資料交換格式

    15.1.1 文件結構

    15.1.2 CSV 格式解碼

    15.2 XML 資料交換格式

    15.2.1 文件結構

    15.2.2 SAX 解析

    15.2.3 DOM 解析

    15.3 JSON 資料交換格式

    15.3.1 文件結構

    15.3.2 JSON 架構jsoncpp 和rapidjson 比較

    15.3.3 實例:rapidjson 解碼

    15.3.4 實例:rapidjson 編碼



    Chapter16?? 以HTTP 為基礎的網路通訊

    16.1 網路結構

    16.1.1 用戶端伺服器結構網路

    16.1.2 點對點結構網路

    16.2 HTTP 與HTTPS 協定

    16.3 使用cURL 開發用戶端

    16.3.1 cURL 與libcurl 函數庫

    16.3.2 Visual Studio 下libcurl 函數庫開發環境設定

    16.3.3 實例:重構MyNotes

    16.4 使用HttpClient 開發用戶端

    16.4.1 HttpClient API

    16.4.2 Visual Studio 下HttpClient 開發環境設定

    16.4.3 實例:重構MyNotes



    Chapter17?? 以Node.js 為基礎的Socket.IO 網路通訊

    17.1 Node.js

    17.1.1 Node.js 安裝

    17.1.2 Node.js 測試

    17.2 使用Socket.IO

    17.2.1 Socket.IO 伺服器端開發

    17.2.2 Cocos2d-x 的Socket.IO 用戶端

    17.3 實例:Socket.IO 重構MyNotes

    17.3.1 Socket.IO 伺服器端開發

    17.3.2 Node.js 存取SQLite 資料庫

    17.3.3 Cocos2d-x 的Socket.IO 用戶端開發



    第4 篇? 設計與最佳化篇



    Chapter18?? Cocos2d-x 中的常用設計模式

    18.1 單例設計模式

    18.1.1 問題提出

    18.1.2 實現原理

    18.1.3 應用案例

    18.2 委派設計模式

    18.2.1 問題提出

    18.2.2 實現原理

    18.2.3 應用案例

    18.3 觀察者設計模式與通知機制

    18.3.1 問題提出

    18.3.2 實現原理

    18.3.3 通知機制



    Chapter19?? Cocos2d-x 中的記憶體管理

    19.1 C++ 記憶體管理

    19.1.1 記憶體分配區域

    19.1.2 動態記憶體分配

    19.2 Ref 記憶體管理

    19.2.1 記憶體參考計數

    19.2.2 自動釋放池

    19.2.3 Ref 記憶體管理規則

    19.3 Ref 記憶體管理設計模式

    19.3.1 使用靜態建構函數

    19.3.2 使用存取器

    19.4 其它類型記憶體管理

    19.4.1 Value 記憶體管理

    19.4.2 Vector 和Map 記憶體管理



    Chapter20?? 效能最佳化

    20.1 工具

    20.1.1 Xcode 中Instruments 工具使用

    20.1.2 使用Windows 工作管理員

    20.1.3 Visual Studio 記憶體洩漏檢測工具 —— Visual Leak Detector

    20.1.4 左下角的文字是什麼?

    20.2 使用SpriteBatchNode 批次繪製

    20.3 合理使用快取

    20.3.1 場景與資源

    20.3.2 快取建立和清除時機

    20.4 圖片與紋理最佳化

    20.4.1 選擇圖片格式

    20.4.2 拼圖

    20.4.3 紋理像素格式

    20.4.4 紋理快取非同步載入

    20.4.5 背景圖片最佳化

    20.5 聲音最佳化

    20.5.1 聲音格式最佳化

    20.5.2 聲音前置處理與清除

    20.6 多執行緒平行處理存取

    20.6.1 std::thread 多執行緒技術

    20.6.2 非同步前置處理聲音

    20.7 SQLite 資料庫最佳化

    20.7.1 表結構最佳化

    20.7.2 查詢最佳化

    20.7.3 插入(或刪除)最佳化

    20.8 資料交換格式最佳化



    第5 篇? 平台移植篇



    Chapter21?? 從Win32 到Android

    21.1 架設交換編譯和包裝環境

    21.1.1 Android SDK 安裝

    21.1.2 管理Android SDK

    21.1.3 管理Android 開發模擬器

    21.1.4 Android NDK 安裝

    21.1.5 設定環境變數

    21.2 交換編譯和包裝

    21.2.1 透過命令列交換編譯包裝

    21.2.2 Android.mk 編譯檔案

    21.2.3 使用Eclipse 交換編譯包裝

    21.3 移植問題整理

    21.3.1 中文亂碼問題

    21.3.2 SQLite3 資料庫移植問題

    21.3.3 JSON 架構rapidjson 移植問題2

    21.3.4 libcurl 函數庫移植問題

    21.3.5 libNetwork 函數庫移植問題

    21.3.6 橫向螢幕與垂直設定問題



    Chapter22? 從Win32 到Windows Phone 8

    22.1 Windows Phone 8 開發環境架設

    22.1.1 Windows Phone SDK 8.0 安裝

    22.1.2 Visual Studio Express 2012 for Windows Phone 8 安裝

    22.2 Cocos2d-x 3.x 的Windows Phone 8 專案

    22.2.1 產生專案

    22.2.2 執行專案

    22.2.3 偵錯專案

    22.3 移植問題整理

    22.3.1 中文亂碼問題

    22.3.2 SQLite3 資料庫移植問題

    22.3.3 架構rapidjson 移植問題

    22.3.4 libcurl 函數庫移植問題

    22.3.5 libNetwork 函數庫移植問題

    22.3.6 橫向螢幕與垂直設定問題



    Chapter23? 從Win32 到iOS

    23.1 iOS 開發環境架設

    23.1.1 Xcode 安裝和移除

    23.1.2 Xcode 操作介面

    23.2 從Visual Studio 專案到Xcode 專案

    23.2.1 增加原始檔案

    23.2.2 增加資源檔

    23.2.3 Xcode 中編譯並執行

    23.3 移植問題整理

    23.3.1 中文亂碼問題

    23.3.2 SQLite3 資料庫移植問題

    23.3.3 JSON 架構rapidjson 移植問題

    23.3.4 libcur 程式庫移植問題

    23.3.5 聲音移植問題

    23.3.6 使用PVR 紋理格式

    23.3.7 橫向螢幕與垂直設定問題

    23.4 多解析度螢幕轉換

    23.4.1 問題的提出

    23.4.2 Cocos2d-x 螢幕轉換

    23.4.3 解析度策略

    23.4.4 紋理圖集資源轉換

    23.4.5 圖磚地圖資源轉換



    第6 篇? 實戰篇



    Chapter24? 使用Git 管理程式碼版本

    24.1 程式版本管理工具 —— Git

    24.1.1 版本控制歷史

    24.1.2 術語和基本概念

    24.1.3 Git 環境設定

    24.1.4 Git 常用指令

    24.2 程式託管服務 —— GitHub

    24.2.1 建立和設定GitHub 帳號

    24.2.2 建立程式庫

    24.2.3 刪除程式庫

    24.2.4 衍生程式庫

    24.2.5 GitHub 協作開發

    24.3 實例:Cocos2d-x 遊戲專案協作開發

    24.3.1 傳送到GitHub 程式庫

    24.3.2 複製GitHub 程式庫

    24.3.3 重新獲得GitHub 程式庫



    Chapter25? Cocos2d-x 敏捷開發專案實戰 —— 迷失航線手機遊戲

    25.1 迷失航線遊戲分析與設計

    25.1.1 迷失航線故事背景

    25.1.2 需求分析

    25.1.3 原型設計

    25.1.4 遊戲指令稿

    25.2 工作1:遊戲專案的建立與初始化

    25.2.1 開發階段1.1:建立專案

    25.2.2 開發階段1.2:多解析度支援

    25.2.3 開發階段1.3:通用類別與基礎類別維護

    25.2.4 開發階段1.4:發佈到GitHub

    25.3 工作2:建立Loading 場景

    25.3.1 開發階段2.1:增加場景和層

    25.3.2 開發階段2.2:Loading 動畫

    25.3.3 開發階段2.3:非同步載入紋理快取

    25.3.4 開發階段2.4:非同步前置處理聲音

    25.4 工作3:建立Home 場景

    25.4.1 開發階段3.1:增加場景和層

    25.4.2 開發階段3.2:增加選單

    25.5 工作4:建立設定場景

    25.6 工作5:建立說明場景

    25.7 工作6:遊戲場景實現

    25.7.1 開發階段6.1:建立敵人精靈

    25.7.2 開發階段6.2:建立玩家飛機精靈

    25.7.3 開發階段6.3:建立炮彈精靈

    25.7.4 開發階段6.4:初始化遊戲場景

    25.7.5 開發階段6.5:遊戲場景選單實現

    25.7.6 開發階段6.6:玩家飛機發射炮彈

    25.7.7 開發階段6.7:炮彈與敵人的碰撞檢測

    25.7.8 開發階段6.8:玩家飛機與敵人的碰撞檢測

    25.7.9 開發階段6.9:玩家飛機生命值顯示

    25.7.10 開發階段6.10:顯示玩家得分情況

    25.8 工作7:遊戲結束場景



    Chapter26? 為迷失航線遊戲增加廣告

    26.1 使用GoogleAdMob 廣告

    26.1.1 註冊AdMob 帳號

    26.1.2 管理AdMob 廣告

    26.1.3 AdMob 廣告類型

    26.1.4 下載GoogleAdMob Ads SDK

    26.2 為迷失航線遊戲Android 平台增加AdMob 廣告

    26.2.1 Cocos2d-x 引擎Android 平台下AdMob 開發環境架設

    26.2.2 撰寫AdMob 相關程式

    26.2.3 交換編譯與包裝執行

    26.3 為迷失航線遊戲Windows Phone 8 平台增加AdMob 廣告

    26.3.1 Cocos2d-x 引擎Windows Phone 8 平台下AdMob

    開發環境架設

    26.3.2 撰寫AdMob 相關程式0

    26.4 為迷失航線遊戲iOS 平台增加AdMob 廣告

    26.4.1 Cocos2d-x 引擎iOS 平台下AdMob 開發環境架設

    26.4.2 撰寫AdMob 相關程式

    Chapter27? 把迷失航線遊戲發佈到Google play 市集

    27.1 GoogleAndroid 市集Google play

    27.2 Android 裝置測試

    27.3 還有「最後一哩路」

    27.3.1 增加圖示

    27.3.2 應用程式套件裝

    27.4 發佈產品

    27.4.1 上傳APK

    27.4.2 填寫商品詳細資訊

    27.4.3 定價和發佈範圍



    Chapter28? 把迷失航線遊戲發佈到Windows Phone 市集

    28.1 微軟Windows Phone 市集

    28.2 Windows Phone 8 裝置測試

    28.2.1 播放音訊程式當機問題

    28.2.2 螢幕解析度寬度和高度相反問題

    28.3 還有「最後一哩路」

    28.3.1 使用市集測試套件完成「最後一哩路」6

    28.3.2 測試應用套裝程式XAP

    28.3.3 修改應用程式的基本屬性

    28.3.4 設定圖示

    28.3.5 市集動態磚和螢幕擷取畫面

    28.3.6 修改UI 相關描述資訊

    28.3.7 修改包裝資訊

    28.4 發佈產品

    28.4.1 填寫應用資訊

    28.4.2 上傳並描述您的套裝程式



    Chapter29? 把迷失航線遊戲發佈到蘋果App Store

    29.1 蘋果的App Store

    29.2 iOS 裝置測試

    29.2.1 建立開發者憑證

    29.2.2 裝置註冊8

    29.2.3 建立App ID

    29.2.4 建立設定概要檔案3

    29.2.5 裝置上執行

    29.3 還有「最後一哩路」

    29.3.1 增加圖示

    29.3.2 增加啟動介面

    29.3.3 修改發佈產品屬性

    29.3.4 為發佈進行編譯

    29.3.5 套裝應用軟體

    29.4 發佈產品

    29.4.1 建立應用及基本資訊

    29.4.2 應用定價資訊

    29.4.3 基本資訊輸入

    29.4.4 上傳應用前準備

    29.4.5 上傳應用

    29.5 常見審核不通過的原因

    29.5.1 功能問題

    29.5.2 使用者介面問題

    29.5.3 商業問題

    29.5.4 不當內容

    29.5.5 其它問題










      歡迎來到Cocos 的開發世界。



      Cocos2d-x 自發佈第一個版本以來,歷經4 年的成長,到如今使用者已遍佈全球,數不清的採用Cocos 引擎開發的遊戲橫掃各個暢銷榜單。近兩年,手機遊戲企業在行動網際網路世界的崛起是有目共睹的。企業格局在變化,Cocos2d-x 不改初衷,開放原始碼免費始終如一,便捷高效步步提升,跨平台特性也日益增強。我們的引擎團隊不斷地努力改進,盡可能降低遊戲開發的門檻,讓更多有想法、有創意的朋友,不管是專業還是非專業出身的開發者,都能著手去實現。



      Cocos2d-x 遊戲引擎的優勢在於「在一個平台下開發,多平台發佈」。至今,許多知名的開發團隊都已轉為使用Cocos2d-x 開發遊戲了。以這樣為基礎的背景。本書使用Cocos2d-x 的C++ 語言API,並包含了100 多個完整的案例專案原始程式碼,讀者可到本書網站http://www.topteam.cc 下載。



      勘誤與支援



      網站www.cocoagame.net 中建立了一個勘誤專區,及時地把書中的問題和勘誤回饋給讀者們。如果您在學習過程中發現了問題,可以在網上留言,也可以發送電子郵件到eorient@sina.com,我們會在第一時間回覆。



      本書程式碼



      本書原作者為中國大陸籍,為求原始程式之完整,特將原書程式碼及繁體化之後的程式碼都放在本公司官網www.topteam.cc 上,讀者可下載執行。



      在執行繁體中文程式碼時若出現錯誤訊息,可使用原書程式測試。





    其 他 著 作
    1. 超神力遊戲開發引擎Cocos2d x跨平台全面攻略
    2. 翻轉iOS:使用Swift開發感測器應用
    3. FB官方推薦跨平台遊戲引擎:Cocos2d-x實際演練之JS篇
    4. 自己的神盾自己做:Android 資安衛士自製教學
    5. 一次開發全面散佈:Cocos2d-x 全平台遊戲開發一次就好
    6. iOS開發大師:iPhone感應裝置全解析
    7. Cocos2d-x實際演練 - JS篇
    8. Swift - AR擴增實境與感應器開發
    9. 手機跨界開發高手:用Cocos2d-x及C++縱橫Apple/Android
    10. 同時成為iOS/Android開發大師:使用Cocos2d-x及JS
    11. 蘋果開發白皮書:用Swift控制iPhone上的感測器
    12. 要掌握iOS開發,先掌握iPhone上的每一個感應器
    13. iOS網路及雲端程式全設備開發
    14. Swift 開發指南
    15. iOS網路與雲端應用最佳化