会员   密码 您忘记密码了吗?
1,574,159 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

浏览历史

当前位置: 首页 > 电脑资讯 > 程式设计/APP开发 > 手機跨界開發高手:用Cocos2d-x及C++縱橫Apple/Android
手機跨界開發高手:用Cocos2d-x及C++縱橫Apple/Android
上一张
手機跨界開發高手:用Cocos2d-x及C++縱橫Apple/Android
下一张
prev next

手機跨界開發高手:用Cocos2d-x及C++縱橫Apple/Android

作者: 關東升
出版社: 佳魁資訊
出版日期: 2016-06-30
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT720.00
市场价格: RM109.53
本店售价: RM97.48
促销价: RM96.39
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

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

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

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

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


作者介紹

作者簡介

關東升


  知名iOS技術作家,iOS技術顧問,高級培訓講師,行動開發專家。擔任5ICTO社區iOS技術顧問,精通iOS、Android、WindowsPhone及HTML5等行動開發技術。在AppStore上發佈多款遊戲和應用軟體,擅長行動平台的應用和遊戲類專案開發。長期為中國移動研究院、雲南移動、東軟、方正科技、大唐電信、中石油等企業授課。
 


目錄



第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<T> 容器
13.2.4 實例:Vector 容器
13.3 Ref 字典容器
13.3.1 __Dictionary 容器
13.3.2 實例:__Dictionary 容器
13.3.3 Map<K,V> 容器
13.3.4 實例:Map<K,V> 容器
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<T> 和Map<K,V> 記憶體管理

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 其它問題