出版時間:2013-4 出版社:機械工業(yè)出版社 作者:滿碩泉
Tag標簽:無
前言
前言為什么要寫這本書在大學期間,我開始對移動游戲開發(fā)感興趣,于是開始學習移動開發(fā)方面的相關知識,包括J2ME和Android等技術?,F(xiàn)在,開始的好奇心和興趣成就了我引以為豪的事業(yè)。在大四的時候,我到了天津猛犸實習,從J2ME平臺到Android平臺,從Android平臺到iOS平臺,我不僅接觸了不同平臺的開發(fā),更學會了游戲開發(fā)的技巧和思想。如果說編程是一門藝術,那么游戲開發(fā)就是藝術中的藝術。作為一名游戲開發(fā)程序員,不僅要擁有熟練的編程技巧,還要對美術、策劃和游戲有深入的理解。游戲程序員最重要的是游戲編程思想,因此當決定寫這本書的時候,我深知不僅要分享Cocos2D-x相關的知識,更要分享游戲開發(fā)思想。作為從J2ME手機游戲時代走過來的開發(fā)者,我深知移動平臺游戲可移植性的重要。J2ME這項技術的學習相對簡單,應用這項技術進行開發(fā)的速度也比較快,而且當時幾乎所有手機平臺都支持Java,所以“一次編碼,到處運行”也就不是夢想了。但是由于受機型的硬件性能所限,不同的平臺在移植上也需要下一番工夫,針對不同屏幕、不同內(nèi)存,往往需要開發(fā)不同的版本。當時的開發(fā)者根據(jù)經(jīng)驗,往往把很多種機型分組處理,為每組開發(fā)一個模板,然后再針對在不同機型上的運行情況做不同的調(diào)整,從而形成一種相對高效的開發(fā)模式。盡管在這個階段手機設備的硬件水平普遍偏低,但是開發(fā)者經(jīng)??梢酝ㄟ^美術、程序、策劃三方的配合,開發(fā)出具有非常好的效果的游戲。由于J2ME的學習和開發(fā)都很簡單,因此很少有成型的引擎,只是不同的游戲?qū)煌目蚣?。隨著蘋果iOS系統(tǒng)和iPhone、iPad等一系列產(chǎn)品的發(fā)布,隨著Android系統(tǒng)和相應設備的誕生,移動平臺的種類得到了豐富,并從單一的手機發(fā)展到平板電腦等多種手持設備上。而移動游戲的開發(fā)方式同樣也有了改變,開發(fā)者們開始嘗試針對不同平臺的開發(fā)框架來進行開發(fā)。智能平臺的硬件及性能的提高并沒有帶來游戲品質(zhì)的提高,于是開發(fā)者們也探索著進行只針對單一平臺的開發(fā),他們利用平臺特性(多點觸屏,重力感應等)開發(fā)出了很多不錯的游戲。雖然Android平臺的屏幕及分辨率也是千差萬別,但是由于出色的框架使得開發(fā)和移植變得簡單起來,同時也不需要過多考慮內(nèi)存的限制。但是問題依然存在,對于不同的智能平臺(Android、iOS等操作系統(tǒng))依然需要編寫不同的代碼來進行開發(fā),如何跨平臺這個問題擺在了開發(fā)者面前。跨平臺的引擎有基于HTML5的跨平臺特性產(chǎn)生的開發(fā)引擎,也有基于OpenGL開發(fā)的游戲引擎,其中Cocos2D-x廣泛受到開發(fā)者的關注,因為它不僅具有跨平臺的特點,還具有受Cocos2D全球社區(qū)的支持、框架簡單易學、十分容易上手等特點。經(jīng)過一段時間的發(fā)展,開發(fā)者使用Cocos2D-x開發(fā)出了多款成功的游戲,包括捕魚達人、地鐵總動員等佳作。2012年年初,Cocos2D-x團隊再次開發(fā)出兩個分支,分別是支持Windows Phone的XNA版和支持HTML5的HTML5版,后者還得到了Google的贊助。在Zynga的幫助下,Cocos2D-x正在研發(fā)綁定JavaScript的Cocos2D-x2.0版本。隨著Cocos2D及其分支的發(fā)展,Cocos2D會有更多跨平臺特性,從而可以支持更多的平臺,并且提高開發(fā)者的開發(fā)效率。相信Cocos2D-x將會更加受到廣大開發(fā)者的歡迎。正因為這樣,2011年年底我開始接觸Cocos2D-x引擎,并在我的CSDN博客上(博客地址:http://blog.csdn.net/bill_man)寫了一些相關的文章,當初的目的就是為自學留下些筆記以供以后參考,因為當時的Cocos2D-x參考資料還不是很多。后來逐漸發(fā)展為把我學習中遇到的問題與大家分享。慢慢地,通過使用,我發(fā)現(xiàn)Cocos2D-x是一個對開發(fā)者十分友好的游戲引擎,于是我希望把自己引擎的使用經(jīng)驗結(jié)合游戲開發(fā)經(jīng)驗更系統(tǒng)、更全面的分享出來,于是就有了這本書。讀者對象Cocos2D-x初級及中級開發(fā)者,了解C++語言和游戲開發(fā)的讀者;沒有接觸過Cocos2D-x,但有過Cocos2D其他版本開發(fā)經(jīng)驗的開發(fā)者;沒有Cocos2D-x和C++開發(fā)經(jīng)驗,但是有C、Java等語言開發(fā)經(jīng)驗的游戲程序員;相關項目的策劃及管理人員;游戲開發(fā)愛好者;大專院校相關專業(yè)的師生。如何閱讀本書本書分為四部分:第一部分(第1~2章)為準備篇,介紹了Cocos2D-x的下載與安裝,以及交叉編譯環(huán)境的搭建,為后面的開發(fā)做準備。第二部分(第3~10章)為基礎篇,重點講解了Cocos2D-x中的核心類、動作、動畫、特效、文字、字體、事件處理、地圖、聲音以及物理引擎的使用,這部分結(jié)合Cocos2D-x自帶的tests實例進行講解,目的是讓讀者全面掌握Cocos2D-x的基礎理論和基本使用。第三部分(第11~12章)為實戰(zhàn)篇,采用Cocos2D-x分別開發(fā)了一款縱版射擊游戲和橫版動作游戲,旨在讓讀者深入了解Cocos2D-x的基礎知識在游戲開發(fā)中的實戰(zhàn)使用,而且這兩款游戲分別代表了縱版卷軸和橫版卷軸,可以讓開發(fā)者深入了解不同類型游戲的開發(fā)思想。第四部分(第13~16章)為高級篇,在前面的章節(jié)基礎上,介紹Cocos2D-x的粒子系統(tǒng)和相關粒子編輯器的使用,學習了Cocos2D-x實現(xiàn)常用的游戲算法、內(nèi)存管理和調(diào)試方法,最后簡單介紹了Cocos2D的一個新的分支—Cocos2D-HTML5。如果你是一名對Cocos2D-x有一定了解的開發(fā)者,可以從第3章開始閱讀,而如果你是一個Cocos2D-x的初學者,請從第1章開始閱讀??闭`和支持由于作者的水平有限,加之編寫時間倉促,書中難免會出現(xiàn)一些錯誤或者不準確的地方,懇請讀者批評指正。為了方便與大家交流,我專門申請了新浪微群,大家有問題可以在群中提出,我會及時解答的,我還會在群中及時更正書中的錯誤,我也會將相應的功能更新及時發(fā)布出來。書中的全部源文件可以從華章網(wǎng)站下載。如果你有更多的寶貴意見,也歡迎發(fā)送郵件,期待能夠得到你們的真摯反饋。致謝首先感謝Cocos2D以及Cocos2D-x的開發(fā)團隊,感謝他們?yōu)閺V大游戲開發(fā)者開發(fā)出一款如此優(yōu)秀的游戲引擎。感謝我的“老東家”天津猛犸科技有限公司,感謝這家公司對我的鍛煉和栽培,使我對游戲開發(fā)由“好奇”變成“愛好”,感謝公司中我的老師和好戰(zhàn)友們,感謝他們和我并肩作戰(zhàn)的日子,我在他們身上學到的東西讓我對游戲開發(fā)有了更深的認識和熱愛。感謝天津大學以及我的老師和同學們,尤其是我的編程啟蒙老師羅凱先生。感謝CSDN網(wǎng)站上每一位閱讀我文章的網(wǎng)友們,是你們給了我信心,讓我一直寫下去。感謝實戰(zhàn)篇中游戲?qū)嵗拿佬g人員:其中第11章游戲?qū)嵗拿佬g人員為許鵬,第12章游戲?qū)嵗拿佬g人員為李祖一。感謝機械工業(yè)出版社華章公司的楊福川和白宇,感謝二位老師在這一段時間中始終支持我的寫作,是他們的鼓勵和幫助引導我順利完成全部書稿。可以說沒有二位老師的幫助和支持,我不會有勇氣寫這本書。感謝我的爺爺和奶奶,他們是我人生的啟蒙老師,盡管他們已經(jīng)離開這個世界,但是我依然能感受到他們對我的支持和愛。最后感謝我的父母,他們不僅含辛茹苦撫養(yǎng)我長大,還教會我很多做人的道理,為了他們我要更加努力。謹以此書獻給我最親愛的家人,以及眾多熱愛游戲開發(fā)和Cocos2D-x的朋友們!滿碩泉(bill_man)于中國天津
內(nèi)容概要
《Cocos2D-x權威指南》是目前Coco2D-x領域內(nèi)容較為全面、系統(tǒng)和極具實戰(zhàn)性的一本著作,也是技術版本最新的一本著作。由國內(nèi)資深的游戲開發(fā)工程師和移動應用開發(fā)工程師撰寫。書中不僅系統(tǒng)講解了Cocos2D-x的功能特性、使用方法、技術要點、高級知識、開發(fā)技巧、最佳實踐和性能優(yōu)化,還通過精心設計的游戲案例詳細講解了Cocos2D-x游戲設計與開發(fā)的完整過程,極具啟發(fā)性和可操作性。更為重要的是,《Cocos2D-x權威指南》將游戲開發(fā)人員應該掌握的游戲開發(fā)思想也融入了其中。
全書共16章,分為4個部分:準備篇(第1~2章)系統(tǒng)介紹了Cocos2D-x的核心概念、主要功能,以及它在Windows、Android、iOS等平臺下的安裝、配置、交叉編譯環(huán)境的搭建,為后面的開發(fā)做準備;基礎篇(第3~10章)重點講解了Cocos2D-x的功能特性、使用方法、技術要點,包括Cocos2D-x中的核心類、動作、動畫、特效、文字和字體、事件處理機制、地圖、聲音以及物理引擎等內(nèi)容,具體結(jié)合Cocos2D-x自帶的tests實例進行講解,目的是讓讀者全面掌握Cocos2D-x的基礎理論和基本使用方法;實戰(zhàn)篇(第11~12章)利用Cocos2D-x開發(fā)了一款縱版射擊游戲和橫版動作游戲,旨在讓讀者深入了解完整的游戲開發(fā)流程和方法,以及如何將Cocos2D-x的理論知識用到實戰(zhàn)中,而且兩種游戲分別代表了縱版卷軸和橫版卷軸,可以讓開發(fā)者深入了解不同類型游戲的開發(fā)思想;高級篇(第13~16章)講解了Cocos2D-x的高級知識、開發(fā)技巧以及最佳實踐,包括粒子系統(tǒng)、游戲中常用算法在Cocos2D-x中的實現(xiàn)、內(nèi)存管理與性能優(yōu)化,以及Cocos2D-HTML 5等方面的內(nèi)容。
海報:
作者簡介
滿碩泉(bill man),資深手機游戲開發(fā)工程師和移動應用開發(fā)工程師,在Android和iOS兩個平臺上開發(fā)了多款游戲,對Cocos2D-x和Unity3D等游戲引擎有非常深入的研究,積累了豐富的經(jīng)驗。精通C++、Java、.NET和JavaScript相關的技術,近期關注HTML 5。活躍于CSDN和Cocos2D等技術社區(qū),撰寫了大量關于Cocos2D-x的文章,深受廣大網(wǎng)友好評。
書籍目錄
前言 第一部分準備篇 第1章認識Cocos2D—x2 1.1什么是Cocos2D2 1.1.1Cocos2D的特點2 1.1.2Cocos2D的主要功能3 1.1.3Cocos2D的應用5 1.2什么是Cocos2D—x6 1.2.1Cocos2D—x的特點6 1.2.2Cocos2D—x的主要功能6 1.2.3Cocos2D—x的應用7 1.3Cocos2D—x與Cocos2D—iPhone的比較8 1.4本章小結(jié)10 第2章搭建跨平臺的開發(fā)環(huán)境11 2.1Windows下的開發(fā)環(huán)境配置11 2.1.1Cocos2D—x軟件安裝與配置11 2.1.2Cocos2D—x工程目錄介紹13 2.1.3新建項目及交叉編譯14 2.2Android下的開發(fā)環(huán)境配置16 2.2.1Cocos2D—x軟件安裝與配置17 2.2.2Cocos2D—x工程目錄介紹23 2.2.3新建項目及交叉編譯23 2.3iOS下的開發(fā)環(huán)境配置27 2.3.1Cocos2D—x軟件安裝與配置27 2.3.2Cocos2D—x工程目錄介紹28 2.3.3新建項目及交叉編譯29 2.4使用Doxygen工具生成Cocos2D—x文檔31 2.5本章小結(jié)33 第二部分基礎篇 第3章Cocos2D—x中的核心類36 3.1節(jié)點類36 3.1.1CCNode類的成員數(shù)據(jù)37 3.1.2CCNode類的函數(shù)38 3.1.3坐標系簡介41 3.1.4實例:通過節(jié)點控制屏幕中的全體渲染對象43 3.2導演類46 3.2.1CCDirector類的成員數(shù)據(jù)46 3.2.2CCDirector類的函數(shù)47 3.2.3實例:CCDirector類的使用48 3.3場景類50 3.3.1如何新建一個場景50 3.3.2場景的切換52 3.3.3場景間切換的動畫54 3.4布景層類56 3.4.1CCLayer類的函數(shù)58 3.4.2顏色布景層類CCLayerColor59 3.4.3多層布景層類CCLayerMultiplex61 3.4.4菜單類CCMenu63 3.4.5控件類及其子類65 3.5精靈類69 3.5.1CCSprite類的成員數(shù)據(jù)及函數(shù)70 3.5.2貼圖類CCTexture2D71 3.5.3精靈批處理類CCSpriteBatchNode72 3.5.4精靈幀類CCSpriteFrame73 3.5.5精靈幀緩存類CCSpriteFrameCache73 3.5.6實例:精靈類及其相關類的使用74 3.6攝像機類79 3.6.1CCCamera類的成員數(shù)據(jù)80 3.6.2CCCamera類的函數(shù)80 3.6.3實例:CCCamera類的使用80 3.7容器類81 3.7.1CCMutableArray和CCArray81 3.7.2CCMutableDictionary和CCDictionary83 3.8拖動漸隱效果類CCMotionStreak84 3.9繪制圖形86 3.10時間調(diào)度88 3.11本章小結(jié)89 第4章Cocos2D—x中的動作、特效與動畫90 4.1動作類90 4.1.1CCAction類的主要成員數(shù)據(jù)和函數(shù)90 4.1.2基本動作91 4.1.3攝像機動作102 4.1.4基本樣條動作104 4.1.5緩沖動作108 4.1.6組合動作111 4.1.7跟隨動作113 4.1.8可調(diào)整速度動作114 4.1.9動作延時116 4.1.10改變動作執(zhí)行對象116 4.1.11函數(shù)回調(diào)動作117 4.1.12過程動作119 4.2動作管理類121 4.2.1CCActionManager類的主要函數(shù)122 4.2.2CCActionManager類的使用122 4.3網(wǎng)格動作123 4.3.1Cocos2D—x中的網(wǎng)格123 4.3.2網(wǎng)格動作124 4.3.3清除網(wǎng)格126 4.4動畫126 4.4.1Cocos2D—x中與動畫相關的類126 4.4.2實例:Cocos2D—x中的動畫127 4.4.3使用plist配置文件實現(xiàn)動畫130 4.5本章小結(jié)133 第5章Cocos2D—x中的菜單項和文本渲染系統(tǒng)134 5.1菜單項134 5.1.1標簽菜單項134 5.1.2精靈菜單項135 5.1.3觸發(fā)器菜單項135 5.1.4實例:菜單項的使用136 5.2文本渲染類138 5.2.1CCLableAtlas類139 5.2.2CCLabelTTF類140 5.2.3CCLabelBMFont類143 5.2.4生成FNT配置文件的工具144 5.3本章小結(jié)145 第6章Cocos2D—x中的事件處理機制146 6.1觸屏事件146 6.1.1觸點類CCTouch146 6.1.2單/多點觸摸函數(shù)147 6.1.3加入觸摸事件148 6.1.4單點觸摸實例:主角隨手指移動151 6.1.5多點觸摸實例:縮放功能的實現(xiàn)154 6.2加速度傳感器事件156 6.2.1CCAccelerometerDelegate類的函數(shù)156 6.2.2實例:加速度傳感器事件的使用157 6.3按鍵事件159 6.3.1CCKeypadDelegate類的函數(shù)159 6.3.2實例:按鍵事件的使用159 6.4獲得用戶虛擬鍵盤輸入161 6.4.1CCIMEDelegate類的函數(shù)161 6.4.2CCTextFieldTTF類的函數(shù)161 6.4.3實例:獲得用戶輸入162 6.5滾動列表類163 6.5.1CCListView類及其相關類的函數(shù)163 6.5.2實例:滾動列表類的使用164 6.6本章小結(jié)167 第7章Cocos2D—x中的瓦片地圖集168 7.1瓦片地圖集及編輯器168 7.1.1瓦片地圖的種類及用途168 7.1.2Tiled地圖編輯器169 7.1.3用Tiled地圖編輯器編輯地圖170 7.1.4添加精靈層173 7.1.5Tiled地圖編輯器數(shù)據(jù)文件173 7.1.6瓦片地圖集類CCTMXTiledMap174 7.1.7地圖層類CCTMXLayer175 7.1.8地圖精靈組類CCTMXObjectGroup176 7.2如何在Cocos2D—x中使用地圖176 7.2.1新建地圖類并在地圖中顯示177 7.2.2普通視角地圖獲得對應位置圖素178 7.2.345度角地圖獲得對應位置圖素179 7.2.4GID值實例:種樹180 7.2.5地圖屬性數(shù)據(jù)的使用182 7.2.6在地圖中加入精靈182 7.2.7精靈層的使用186 7.3貼圖地圖類CCTileMapAtlas188 7.4本章小結(jié)189 第8章Cocos2D—x中的聲音、存儲和網(wǎng)絡190 8.1聲音190 8.1.1Cocos2D—x在不同平臺下支持的聲音190 8.1.2SimpleAudioEngine類的常用函數(shù)191 8.1.3實例:SimpleAudioEngine類的使用191 8.2游戲存檔194 8.2.1CCUserDefault類的常用函數(shù)195 8.2.2實例:CCUserDefault類的使用195 8.3網(wǎng)絡連接197 8.3.1cURL基礎知識198 8.3.2libcurl基礎知識198 8.3.3實例:cURL的使用200 8.4本章小結(jié)200 第9章可視化場景編輯器202 9.1CocosBuilder簡介202 9.2CocosBuilder編輯器的使用202 9.2.1CocosBuilder菜單操作202 9.2.2對象屬性編輯206 9.3CocosBuilder的使用210 9.3.1CocosBuilder在Cocos2D—x中使用的相關類210 9.3.2實例:CocosBuilder在Cocos2D—x中的使用212 9.4本章小結(jié)218 第10章Cocos2D—x中的物理引擎219 10.1物理引擎219 10.1.1什么是物理引擎219 10.1.2物理引擎的作用219 10.1.3Box2D和Chipmunk的對比220 10.2Box2D物理引擎220 10.2.1Box2D引擎中的重要概念221 10.2.2Box2D的使用步驟221 10.2.3在Cocos2D—x中使用Box2D221 10.3在Cocos2D—x中使用Chipmunk229 10.4本章小結(jié)233 第三部分實戰(zhàn)篇 第11章縱版射擊游戲:喵星戰(zhàn)爭236 11.1縱版射擊游戲的特點236 11.2喵星戰(zhàn)爭簡介237 11.2.1喵星戰(zhàn)爭的游戲規(guī)則237 11.2.2喵星戰(zhàn)爭的游戲框架和界面237 11.3喵星戰(zhàn)爭主游戲模塊組成元素的實現(xiàn)239 11.3.1主角小貓的實現(xiàn)239 11.3.2敵人狗博士的實現(xiàn)244 11.3.3魚骨子彈的實現(xiàn)247 11.3.4試管子彈的實現(xiàn)248 11.3.5游戲分數(shù)的實現(xiàn)248 11.4游戲主模塊的實現(xiàn)251 11.5游戲主菜單的實現(xiàn)256 11.6關于界面的實現(xiàn)259 11.7本章小結(jié)260 第12章橫版動作游戲:蘿莉快跑261 12.1橫版動作游戲的特點261 12.2蘿莉快跑簡介262 12.2.1蘿莉快跑的游戲規(guī)則262 12.2.2蘿莉快跑的游戲框架和界面262 12.3蘿莉快跑主游戲模塊組成元素的實現(xiàn)264 12.3.1主角蘿莉的實現(xiàn)264 12.3.2星星的實現(xiàn)268 12.3.3地圖的實現(xiàn)269 12.4游戲主模塊的實現(xiàn)273 12.5游戲主菜單的實現(xiàn)277 12.6關于界面的實現(xiàn)279 12.7本章小結(jié)280 第四部分高級篇 第13章粒子系統(tǒng)282 13.1什么是粒子系統(tǒng)282 13.1.1粒子系統(tǒng)的特點283 13.1.2粒子系統(tǒng)的構成283 13.2Cocos2D—x中的粒子系統(tǒng)283 13.2.1粒子系統(tǒng)基類CCParticleSystem285 13.2.2放射式粒子系統(tǒng)CCParticleSystemQuad285 13.3在Cocos2D—x中使用粒子系統(tǒng)287 13.3.1新建一個粒子系統(tǒng)CCParticleSystemQuad類287 13.3.2直接使用CCParticleSystemQuad類的子類創(chuàng)建粒子系統(tǒng)289 13.3.3使用粒子編輯器創(chuàng)建粒子系統(tǒng)290 13.3.4“清理”粒子系統(tǒng)291 13.4支持Cocos2D—x的粒子編輯器291 13.4.1Windows粒子編輯器Cocos2dParticleEditor292 13.4.2粒子編輯器ParticleDesigner296 13.5本章小結(jié)303 第14章游戲中常用算法在Cocos2D—x中的實現(xiàn)304 14.1A星算法304 14.1.1啟發(fā)式搜索算法原理304 14.1.2什么是A星搜索305 14.1.3A星算法在Cocos2D—x中的實現(xiàn)306 14.2碰撞檢測318 14.2.1碰撞檢測的基本思想319 14.2.2碰撞檢測在Cocos2D—x中的實現(xiàn)320 14.3本章小結(jié)326 第15章內(nèi)存管理與性能優(yōu)化327 15.1Cocos2D—x中的內(nèi)存管理327 15.1.1Cocos2D—x內(nèi)存管理的原則327 15.1.2Cocos2D—x中的圖片處理328 15.2Cocos2D—x對圖片渲染的控制330 15.2.1CCRenderTexture的使用330 15.2.2Cocos2D—x中繪制方法的對比332 15.3Cocos2D—x中處理圖片的方法333 15.3.1高清圖片的處理333 15.3.2抗鋸齒處理334 15.3.3Mipmap處理335 15.3.4獲得貼圖數(shù)和大小337 15.4多語言混編Cocos2D—x337 15.4.1Cocos2D—x中調(diào)用Objective—C337 15.4.2Cocos2D—x中調(diào)用Java338 15.5Cocos2D—x的調(diào)試339 15.5.1VisualStudio中的調(diào)試方法339 15.5.2Eclipse中的調(diào)試方法339 15.5.3Xcode中的調(diào)試方法342 15.6Android中畫面的縮放問題346 15.6.1等比例縮放346 15.6.2非等比例縮放346 15.7本章小結(jié)348 第16章Cocos2D的分支Cocos2D—HTML5349 16.1認識HTML5349 16.2如何使用Cocos2D—HTML5350 16.2.1搭建Cocos2D—HTML5的開發(fā)環(huán)境351 16.2.2Cocos2D—HTML52.0版本的新特性355 16.2.3Cocos2D—HTML5的HelloWorld項目介紹355 16.3Cocos2D—x的未來363 16.4本章小結(jié)363 附錄Cocos2D—x中常見的宏365
章節(jié)摘錄
版權頁: 插圖: 動作:可組合精靈的動作(如移動、旋轉(zhuǎn)和縮放等),使精靈動起來。 特效:包括波浪、旋轉(zhuǎn)和透鏡等特性。 平面地圖:支持平面地圖和45度角地圖。 轉(zhuǎn)換:從一個場景移動到另外一個不同的場景。 菜單:創(chuàng)建內(nèi)部菜單,包括主菜單和游戲菜單。 文本渲染:支持文本渲染標簽。 文檔:包括編程指南、API參考、視頻教學和很多簡單的測試例子。 BSD許可:BSD(Berkly Software Distribution,伯克利軟件套件)開源協(xié)議給予使用者很大的自由。使用者可以自由使用、修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再次發(fā)布。 基于OpenGL:支持硬件加速。 2012年6月,Cocos2D—x發(fā)布了2.0版本(本書成書之時的最新版本是2.01版本,本書的示例也將使用2.01版本)。 Cocos2D—x的2.0以上版本采用OpenGL ES的2.0分支,支持CocosBuilder編輯器,并且支持一些擴展類,包括CCControlExtension、CCNotification、CCListView等,還支持JavaScript腳本的編寫,并且最新版本只支持iOS、Android和Win32三個平臺。圖1—9所示是國外網(wǎng)友為Cocos2D—x制作的廣告,說明了Cocos2D—x對于iOS和Android兩個主流平臺的支持。 1.2.3 Cocos2D—x的應用 由于跨平臺的特性,Cocos2D—x得到了諸多開發(fā)者的喜愛。截至2012年4月月底,使用Cocos2D—x開發(fā)的游戲有200多個,同時有很多用Cocos2D—iPhone開發(fā)的游戲的移植版本。圖1—10所示為使用Cocos2D—x開發(fā)的部分游戲。 開發(fā)者也嘗試著使用Cocos2D—x實現(xiàn)很多不同游戲中的效果。CocoaChina論壇舉辦的特效大賽中,很多特效都基于Cocos2D—x游戲引擎開發(fā)。從顯示水波紋效果到塔防游戲例子,從切繩子特效到“憤怒小鳥”太空版效果模擬,Cocos2D—x的“江湖霸主”地位初步顯現(xiàn)。圖1—11所示為部分特效示意圖。偏移量等,如圖7—5所示。 3)選擇完成圖塊后,左下角的部分就顯示了目前的圖塊,選擇相應圖塊便可以填充某圖了,如圖7—6所示。 4)可以右鍵選擇圖塊添加屬性,彈出的對話框如圖7—7所示,圖塊的數(shù)據(jù)可以在程序中獲得。關于如何獲得,將在后面詳細介紹。 5)工具欄中提供了不同工具填充,包括圖章刷、填充、橡皮擦和選擇矩形區(qū)域等。可以使用圖章刷為每個格填充圖素,填充是批量地填充圖素,橡皮擦可以擦掉之前的填充圖素,如圖7—8所示。 6)屏幕的右上角為圖層編輯部分,如圖7—9所示。
編輯推薦
《Cocos2D-x權威指南》是資深游戲開發(fā)工程師根據(jù)Cocos2D-x的2.0.1版本撰寫,內(nèi)容全面,系統(tǒng)講解了Cocos2D-x的功能特性、使用方法、技術要點、開發(fā)技巧、最佳實踐以及性能優(yōu)化,同時融入了游戲開發(fā)的思想;實戰(zhàn)性強,每個知識點輔之以便于理解的小案例,而且通過精心設計的兩款游戲案例完美呈現(xiàn)了Cocos2D-x游戲設計與開發(fā)的完整過程,極富啟發(fā)性。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載