編輯推薦
適讀人群 :零基礎遊戲開發人員、遊戲開發愛好者、在校學生 64個遊戲實例、5個完整的遊戲項目案例、贈送232分鍾高清配套教學視頻
詳解Cocos2d-x從項目創建、配置到開發的全過程,全麵展示各組件的使用方法
涵蓋Cocos2d-x遊戲開發的基礎知識、技能提升、設計模式應用及遊戲案例實戰
不涉及過於高深的理論,而是通過實例展示如何做,很適閤零基礎讀者快速入門
通過64個實例與5個案例,詳解Cocos2d-x中各個模塊的用法和常見遊戲的實現思路
詳解從零基礎到獨立開發遊戲的整個過程,並探討遊戲開發中設計模式的應用
實現5個完整的遊戲項目案例,讓讀者體驗實際的遊戲開發過程,提高實戰水平
64個遊戲實例
音效實戰:鋼琴
交互實戰:遊戲搖杆
動作實戰:人物行走
定時器實戰:迴閤製遊戲戰鬥
Box2D實戰:在平麵上打颱球
骨骼動畫實戰:運動的火柴人
……
5個完整的遊戲項目案例
2048遊戲實戰
連連看遊戲實戰
Popstar遊戲實戰
縱版射擊遊戲實戰
紙牌遊戲實戰
海報
內容簡介
本書以實例為基礎,通過簡單的例子來介紹Cocos2d-x中各個模塊的使用方法和一些常見遊戲的實現思路。書中詳細介紹從零基礎到能夠獨立開發簡單遊戲的整個過程,同時探討遊戲開發中設計模式的應用。另外,作者為書中的重點內容錄製瞭一些教學視頻,以便於讀者更加高效、直觀地學習。本書共19章,分為4篇。第1篇為開發前的環境搭建,主要介紹Cocos2d-x的背景知識及開發環境的搭建。第2篇為Cocos2d-x基礎鋪墊,主要介紹Cocos2d-x中的基本UI、對用戶操作的響應、地圖係統、物理引擎、粒子係統及存儲和網絡等方麵的知識。第3篇為Cocos2d-x技能提升,屬於進階知識,主要介紹如何使用額外的控件、如何使用CocosStudio及設計模式的相關內容。第4篇為Cocos2d-x遊戲開發案例實戰,主要通過幾個遊戲案例介紹如何利用Cocos2d-x開發遊戲應用。
本書內容全麵,實用性強,尤其適閤在校學生或零基礎遊戲開發的愛好者閱讀。本書基本不涉及過於高深的理論,書中主要是通過實例來展示怎麼做,非常適閤基礎薄弱的讀者入門。
本書精華內容
初識Cocos2d-x
Cocos2d-x基礎知識學習
在屏幕上顯示內容
實現交互功能
讓人物動起來
定時器的原理及使用
地圖係統的使用
Cocos2d-x中的粒子係統
在Cocos2d-x中使用物理引擎
存儲和網絡
高級UI控件
學習使用CocosStudio
Cocos2d-x中的設計模式
2048遊戲實戰
連連看遊戲實戰
Popstar遊戲實戰
縱版射擊遊戲實戰
紙牌遊戲實戰
最後的一點補充
作者簡介
歐桐桐,畢業於大連海事大學信息管理與信息係統專業。熟悉各種主流的遊戲開發框架,尤其熱愛Cocos2d-x。曾經針對PC網絡遊戲開發瞭多款用於競技的模擬器(如召喚獸打書模擬器、人物加點模擬器等),深受廣大網絡遊戲玩傢的喜愛。作為一名資深的網絡遊戲玩傢,善於利用自己的開發經驗發現網絡遊戲腳本背後的秘密。
內頁插圖
目錄
第1篇 開始前的環境搭建
第1章 初識Cocos2d-x
1.1 我是怎樣遇到Cocos2d-x的
1.1.1 Cocos2d的曆史
1.1.2 簡單介紹一下Cocos2d-x
1.1.3 筆者的個人感受
1.2 開始前的準備
1.2.1 Visual Studio 2013的安裝
1.2.2 Cocos集成開發環境的安裝
1.3 安卓開發環境的搭建
1.3.1 JDK的安裝
1.3.2 ADT的使用
1.3.3 如何在真機上運行Cocos2d-x程序
1.3.4 多個類的情況
1.4 關於本書的一些約定
1.5 小結
第2篇 Cocos2d-x基礎鋪墊
第2章 Cocos2d-x基礎知識學習
2.1 在Cocos2d-x中創建一個新的場景
2.2 讓場景顯示齣來
2.3 Cocos2d-x中的一些概念
2.3.1 導演
2.3.2 節點
2.3.3 場景
2.3.4 圖層
2.3.5 精靈
2.4 總結
第3章 在屏幕上顯示內容
3.1 在Cocos2d-x中顯示一行文字
3.2 在Cocos2d-x中顯示圖像
3.3 在Cocos2d-x中使用菜單
3.4 Cocos2d-x中屏幕適配的原理
3.5 在Cocos2d-x中播放聲音
3.6 實戰:一個簡單的鋼琴
3.7 小結
第4章 實現交互的功能
4.1 單點觸摸的紙牌遊戲
4.2 多點觸摸的羊駝遊戲
4.3 鼠標和鍵盤的加入
4.4 在Cocos2d-x中使用加速度傳感器
4.5 實戰:在Cocos2d-x中實現遊戲搖杆
4.6 小結
第5章 讓人物動起來
5.1 讓精靈進行簡單的動作
5.2 在Cocos2d-x中實現更加復雜的動作
5.3 在Cocos2d-x中實現動作的監聽
5.4 讓主角跑起來
5.5 用打包後的圖片創建動畫
5.6 實戰:利用動畫實現人物行走
5.7 小結
第6章 定時器的原理及使用
6.1 定時器的基本使用
6.2 定時器的缺陷以及改進
6.3 定時器的注冊與取消
6.4 使用定時器實現觸發器
6.5 實戰:利用定時器優化實現人物行走的效果
6.6 實戰:實現迴閤製遊戲戰鬥效果
6.7 小結
第7章 地圖係統的使用
7.1 使用圖片作為地圖
7.1.1 實現人物簡單行走
7.1.2 使用分層的方式來錶示路徑
7.1.3 實現人物的移動
7.1.4 一點補充
7.2 瓦片地圖與地圖編輯器
7.2.1 獲得瓦片地圖
7.2.2 將地圖加載到Cocos2d-x場景中
7.2.3 在項目中使用瓦片地圖
7.3 障礙物的獲取
7.4 簡單介紹一下算法
7.4.1 深度優先和廣度優先算法
7.4.2 地圖的化簡
7.4.3 最短路徑算法
7.4.4 A星算法
7.5 小結
第8章 Cocos2d-x中的粒子係統
8.1 什麼是粒子係統
8.2 粒子係統的使用
8.3 使用粒子係統創建火焰
8.4 使用粒子編輯器
8.5 小結
第9章 在Cocos2d-x中使用物理引擎
9.1 什麼是物理引擎
9.2 物理引擎中常用的概念
9.2.1 世界
9.2.2 剛體
9.2.3 形狀
9.2.4 夾具
9.2.5 關節
9.2.6 碰撞
9.3 在Cocos2d-x中使用物理引擎
9.4 玩傢實現對剛體的操縱
9.5 Box2D中關於倍數的設定
9.6 嚮屏幕中加入多個小球
9.7 小結
第10章 存儲和網絡
10.1 Cocos2d-x中本地信息的存儲
10.2 Cocos2d-x中的文件係統
10.3 Cocos2d-x中弱聯網技術的使用
10.3.1 通過HTTP協議獲取在綫信息
10.3.2 嚮服務端發送請求
10.4 Cocos2d-x中XML文件的解析
10.5 小結
第3篇 Cocos2d-x技能提升
第11章 高級UI控件
11.1 九宮格是個什麼東西
11.1.1 九宮格簡介
11.1.2 實現九宮格的效果
11.1.3 神奇的Scale9Sprite
11.2 Scale9Sprite在按鈕中的應用
11.3 在Cocos2d-x中使用滑動條
11.3.1 自定義SlideBar實現滑動條
11.3.2 使用類ControlSlider來實現滑動條的效果
11.4 另一種形式的進度條
11.5 在遊戲中使用開關
11.6 小結
第12章 學習使用Cocos Studio
12.1 Cocos Studio的使用
12.1.1 Cocos Studio的作用
12.1.2 Cocos Studio中各部分的功能
12.1.3 實戰:利用Cocos Studio實現登錄APP
12.2 在Cocos Studio中使用自定義控件
12.3 對Cocos Studio製作的按鈕進行響應
12.4 使用骨骼編輯器製作動畫
12.4.1 下載榖歌的骨骼動畫編輯器
12.4.2 實戰:使用骨骼動畫編輯器實現運動的火柴人
12.5 小結
第13章 Cocos2d-x中的設計模式
13.1 什麼是設計模式
13.2 設計模式的作用是什麼
13.3 Cocos2d-x中的設計模式
13.3.1 單例模式
13.3.2 二段構建模式
13.3.3 工廠模式
13.3.4 外觀模式
13.3.5 觀察者模式
13.3.6 中介者模式
13.4 Cocos2d-x中的防禦式編程
13.5 小結
第4篇 Cocos2d-x遊戲開發案例實戰
第14章 2048遊戲實例
14.1 2048遊戲概述
14.2 遊戲手勢的識彆
14.3 卡片類的定義和實現
14.4 卡片消除效果的實現
14.5 遊戲界麵的美化
14.5.1 記分牌類的定義
14.5.2 卡片背景的改變
14.5.3 卡片顔色的設定
14.5.4 卡片數值的顯示
14.6 分數的計算
14.7 小結
第15章 連連看遊戲實戰
15.1 遊戲分析
15.2 瓦片地圖的製作與方塊的顯示
15.3 遊戲中方塊的定義與實現
15.4 用戶操作的邏輯判斷
15.5 方塊連通性的判斷
15.5.1 沒有拐點的直綫
15.5.2 一個拐點條件下連通性的判斷
15.5.3 兩個拐點情況的判斷
15.5.4 兩點連通性的判斷
15.6 倒計時條的實現
15.7 道具按鈕的加入
15.8 界麵的優化
15.9 關卡的選擇
15.10 小結
第16章 實戰Popstar
16.1 消除類遊戲簡介
16.2 星星的定義和顯示
16.3 玩傢單擊事件的獲取
16.4 使用廣度優先算法使星星消去
16.4.1 消去四周的星星
16.4.2 將連通的星星全部消去
16.5 讓星星真正消去
16.5.1 讓星星下落
16.5.2 星星的平移
16.5.3 一個小bug
16.6 遊戲邏輯的判斷
16.7 遊戲開始特效與界麵的修改
16.8 小結
第17章 實戰縱版射擊遊戲
17.1 縱版射擊遊戲簡介
17.2 背景滾動的實現
17.3 飛機類的實現
17.4 “皮卡丘”跟隨玩傢操縱
17.5 子彈的發射
17.6 敵人的創建
17.7 不斷地創建敵機
17.8 敵機發射子彈
17.9 碰撞檢測與敵機的爆炸
17.10 小結
第18章 簡單的紙牌遊戲
18.1 項目簡介
18.2 定義一張紙牌
18.3 洗牌和發牌
18.3.1 紙牌序列的生成
18.3.2 紙牌的分發過程
18.4 “玩傢類”的定義和實現
18.5 玩傢和電腦齣牌的實現
18.5.1 玩傢齣牌的實現
18.5.2 電腦齣牌的實現
18.5.3 代碼的封裝
18.6 玩傢與電腦輪流齣牌的實現
18.7 實現讓玩傢按照規則齣牌
18.8 實現電腦按照遊戲規則選牌和齣牌
18.9 最後來談談人工智能與自動機
18.9.1 自動機
18.9.2 基於深度遍曆的方法
18.9.3 基於策略的方法
18.9.4 基於大數據的方法
18.10 小結
第19章 最後的一點補充
19.1 遊戲素材的獲取
19.2 遊戲題材的選擇
19.3 遇到問題怎麼辦
19.4 遊戲如何推廣
19.5 小結
精彩書摘
第1章初識Cocos2d-x
Cocos2d-x是由Cocos2d移植而來的一款跨平颱2D遊戲開發引擎,在最近幾年創造齣瞭不少非常流行的遊戲。使用Cocos2d-x能夠很容易實現在iOS、WindowsPhone、Android等平颱下都可以運行的2D遊戲。本章將為今後學習Cocos2d-x做一個學習前的準備,主要是來瞭解Cocos2d-x的一些基本情況以及Cocos2d-x開發環境的搭建。
除此之外,本章還將對後續書中的代碼以及源文件等做齣約定和說明,本章的主要知識點有:
Cocos2d-x是什麼,它與Cocos2d是什麼關係。
怎樣在Windows下搭建Cocos2d-x開發環境。
怎樣將遊戲移植到安卓係統中。
本書的一些使用方法以及約定。
1.1我是怎樣遇到Cocos2d-x的
對於一般開發者來說,遊戲開發應該屬於很高級的東西瞭,因為不管是桌麵應用還是移動APP,最初入門時都可以直接使用一些現成的控件。Web開發就更不用說瞭,幾天的HTML基礎加上各種現成的源碼,堆齣一個非常華麗的界麵是一件非常容易的事情。目前信息高度發達,不管是直接買書還是利用網上的教程,沒有基礎的人都可以非常輕鬆地構建齣自己的APP,但是遊戲開發就又是另一迴事瞭。
首先,遊戲要通過圖像來展示,這就注定瞭不可能有太多現成的控件能夠直接使用。
其次,遊戲使用的算法邏輯要比一般APP中單純的顯示內容要復雜得多(當然隻是說新聞瀏覽之類的簡單APP),這就說明想要開發遊戲,起碼要有一定的算法基礎。
以上兩點似乎就注定瞭遊戲開發在一般人眼中是一件非常“高大上”的事情,對於開發者來說是這樣的,對於“外行”來說更是如此,因為現如今是一個看“臉”的世界。即使是一個不懂開發的人,也會覺得遊戲開發是非常厲害的,因為他能夠從屏幕的畫麵上看齣這是什麼。即使對麵某程序員用XXX不知名的高級算法實現瞭可以預測未來改變世界的不知名算法。對於旁觀者來說,沒用的,這不過是一大坨沒有意義的黑框框而已。
筆者當年正是遭受過這樣的一次鄙視之後發憤圖強,為瞭麵子立誌要做一個能讓所有人都“看得到”的東西。但是畢竟隔行如隔山,照著教程用C#做瞭個類似連連看、五子棋這樣簡單的小遊戲之後就不知道該如何繼續瞭。
後來在貼吧看到有人說用Python學習做遊戲比較方便,於是果斷開始瞭學習Python的道路。花瞭一晚上時間瞭解瞭Python的基本語法之後,我纔瞭解到一個真相:並不是Python這種語言適閤開發遊戲,而是在Python下有一個用於遊戲開發的插件叫做LosCocos,它能讓新手快速地實現一些2D遊戲的開發。
在我知道真相的時刻,實際上Cocos2d已經發展得非常壯大瞭,已經有瞭Cocos2d-iPhone、Cocos2d-Windows等不同的版本,如圖1-1就是Cocos2d的主要版本以及它的分支。其中本書主要介紹的就是Cocos2d-x在Windows環境下的開發。而一般所說的Cocos2d大多是指Cocos2d在Mac平颱下的開發(開發的是適用於iOS以及安卓平颱的APP),也有少部分是用Cocos2d直接代替瞭Cocos2d-x,但是它們的代碼大多數時候是可以通用的,因此不需要對此過多在意。
圖1-1Cocos2d的各個版本及分支
1.1.1Cocos2d的曆史
這裏容筆者先小小地跑一下題,稍微迴顧迴顧Cocos2d的曆史。1973年在阿根廷,一個叫做RicardoQuesada的小孩誕生瞭。他暫時還不知道自己今後所肩負的使命,而是將整個童年都用來進行各種娛樂活動。直到他12歲時,母親給他買瞭一颱電腦,他用這颱電腦學習編程語言開始製作一些簡單的小遊戲,然後在大學選擇瞭計算機專業。
2005年,Ricardo萌生瞭一個“一星期編寫一款遊戲”的想法,在2005~2007兩年間,他製作瞭許多的遊戲。
終於在2008年,他在阿根廷的LosCocos決定對之前所製作的遊戲進行一次整閤,於是就齣現瞭一款基於Python的遊戲引擎LosCocos。一個月後,LosCocos發布瞭第一個版本,其名稱也變成瞭被人們所熟知的Cocos2d。
當時正值喬布斯在努力推廣iPhone平颱的遊戲開發,Ricardo恰到好處地捕捉到瞭這一機遇,開始與iPhone平颱接軌,於是就有瞭Cocos2d-iPhone版本齣現。
而現在所說的Cocos2d-x則是由觸控科技在2012年以來不斷提供財力支持,由原本的Mac平颱移植過來的。Cocos2d-x包括瞭Cocos2d-x、Cocos2d-js以及CocosStudio等一係列産品。同時該公司也開發瞭一係列基於Cocos2d-x的遊戲産品,如圖1-2所示。
圖1-2觸控科技官網所展示的基於Cocos2d-x的遊戲産品
在錶1-1中展示瞭目前Cocos2d傢族的主要版本以及支持平颱。
錶1-1Cocos2d各個版本以及支持平颱
分支引擎使用語言支持平颱
Cocos2dPython桌麵操作係統
Cocos2d-iPhoneObjective-C、JavaScriptiOS
Cocos2d-xC++、Lua、JavaScriptWindows、Android、WP等多種平颱
Cocos2d-html5JavaScript支持HTML5的瀏覽器
ShinyCocosRubyiOS
Cocos2d-WindowsC++WindowsXP/7
Cocos2d-androidJavaAndroid
Cocos2d-android1JavaAndroid
Cocos2d-xnaC#MicrosoftandMonoGameplatforms
Cocos2d-jsJavaScript
Cocos2d-x遊戲開發實戰精解 下載 mobi epub pdf txt 電子書