Cocos2D應(yīng)用開發(fā)實(shí)踐指南

出版時(shí)間:2013-6-19  出版社:機(jī)械工業(yè)出版社  作者:Rod Strougo,Ray Wenderlich  譯者:李正陽(yáng)  
Tag標(biāo)簽:無(wú)  

前言

前言你想成為一個(gè)游戲開發(fā)者嗎?為iPhone或iPad開發(fā)游戲可以獲得極大樂(lè)趣。這是少數(shù)幾件能讓你找回童年感覺(jué)的事情之一。似乎每個(gè)人都有關(guān)于游戲的創(chuàng)意,還有比iPhone和iPad更好的開發(fā)平臺(tái)嗎?游戲開發(fā)涵蓋廣泛的計(jì)算機(jī)科學(xué)技能—圖形、音頻、網(wǎng)絡(luò),有時(shí)讓人應(yīng)接不暇而失去信心,這是阻礙大部分人真正著手開發(fā)游戲的原因。當(dāng)首次開始時(shí),能自如運(yùn)用Objective-C語(yǔ)言可能已經(jīng)是一個(gè)艱巨的任務(wù),尤其是看到OpenGL ES、OpenAL和其他低層游戲應(yīng)用程序接口時(shí),會(huì)感到更加困難。為iPhone和iPad開發(fā)游戲不需如此困難,的確如此。對(duì)于簡(jiǎn)化2D游戲開發(fā)任務(wù),沒(méi)有比Cocos2D更有遠(yuǎn)見的做法了。我們不再需要為制作iPhone游戲而不得以使用低層OpenGL編程API,同時(shí)你不需要是數(shù)學(xué)或物理專家。當(dāng)前有一個(gè)更快捷、更方便的途徑—使用流行且免費(fèi)的開源游戲開發(fā)框架Cocos2D。Cocos2D非常有趣且易于使用,使用它你可以跳過(guò)低層細(xì)節(jié),專注于使游戲與眾不同。本書教授如何使用Cocos2D制作自己的游戲,現(xiàn)在就引導(dǎo)你一步步領(lǐng)略制作一個(gè)真正的蘋果應(yīng)用軟件商店(App Store)游戲的過(guò)程!本書中編寫的游戲名為“Space Viking”,講述了一個(gè)厲害的維京海盜被傳送到陌生星球的故事。在游戲制作過(guò)程中,可以獲得使用Cocos2D框架所有重要元素的直接經(jīng)驗(yàn),并了解到每個(gè)元素如何相互協(xié)作而成為一個(gè)完整的游戲。下載游戲你可以從蘋果應(yīng)用軟件商店下載Space Viking游戲。這個(gè)游戲是免費(fèi)的,所以繼續(xù)并且下載游戲,開始運(yùn)行游戲,看看你是否足夠厲害,可以將游戲打通關(guān)。這部史詩(shī)般教程將向你展示如何使用Cocos2D制作一款真正的游戲。書中有許多代碼可供實(shí)踐,與此同時(shí)我們會(huì)解釋每個(gè)步驟。當(dāng)你讀完本書并完成相應(yīng)的編碼后,你將完成一個(gè)完整的游戲。最棒的是,你將獲得制作自己的游戲項(xiàng)目所需的知識(shí)和信心。書中每一章會(huì)詳細(xì)介紹游戲中的一個(gè)特定組件,以及支撐它所需的技術(shù),不管是瓷片地圖編輯器(tile map editor),還是我們用Cocos2D、Box2D及Chipmunk創(chuàng)建的一些特效。在完成功能和技術(shù)介紹后,該章還會(huì)詳細(xì)介紹如何在Space Viking游戲中實(shí)現(xiàn)該組件。這種理論與實(shí)踐相結(jié)合的方式填補(bǔ)了其他游戲開發(fā)書籍的空白。Cocos2D是什么Cocos2D是一個(gè)開源的、基于Objective-C開發(fā)語(yǔ)言的、專注于iOS和Mac OS X平臺(tái)的2D游戲開發(fā)框架,可以為 iPhone、iPad、iPod Touch、Mac等硬件設(shè)備開發(fā)游戲。Cocos2D既可以作為庫(kù)文件導(dǎo)入Xcode創(chuàng)建的項(xiàng)目中,也可以在使用Cocos2D模板創(chuàng)建新游戲時(shí)自動(dòng)添加進(jìn)去。Cocos2D框架使用OpenGL ES類庫(kù)進(jìn)行圖形渲染,讓用戶在目標(biāo)設(shè)備上獲得圖形處理器(GPU)的極高速度和性能。Cocos2D框架還有許多其他特性和能力,通過(guò)本書你會(huì)逐漸了解到。Cocos2D起初是一個(gè)用于2D游戲編寫的Python框架。2008年年底,它被移植到iPhone平臺(tái),并使用Objective-C重寫?,F(xiàn)在已被廣泛移植到Ruby、Java(Android)和Mono(C#/.NET)上。注意 Cocos2D有一個(gè)充滿活力的、積極的支持者與貢獻(xiàn)者社區(qū)。Cocos2D論壇非?;钴S,是學(xué)習(xí)和解決問(wèn)題的一個(gè)非常優(yōu)秀的資源,同時(shí)該論壇積極跟蹤著Cocos2D的最新發(fā)展。為什么應(yīng)該使用Cocos2DCocos2D框架可使開發(fā)者避免糾纏于低層API,集中精力在游戲項(xiàng)目核心上。App Store這個(gè)市場(chǎng)流動(dòng)性很強(qiáng),經(jīng)常發(fā)生變化??焖賱?chuàng)建游戲原型并將其開發(fā)出來(lái)是在App Store獲得商業(yè)成功的關(guān)鍵,而Cocos2D是避免陷入學(xué)習(xí)OpenGL ES或OpenAL的泥潭,快速開發(fā)游戲項(xiàng)目的最佳工具。Cocos2D也同樣自帶大量工具類,例如TextureCache(紋理緩存),它能自動(dòng)緩存圖形,支持游戲快速平滑播放。 TextureCache在后臺(tái)運(yùn)行,是許多你甚至不用知道如何使用的Cocos2D功能中的一個(gè),這些功能對(duì)你是顯而易見的。其他有用的工具包括字體渲染、精靈表(sprite sheet)、強(qiáng)大的聲音系統(tǒng)等。Cocos2D是一個(gè)極佳的原型開發(fā)工具,能幫助你在一小時(shí)內(nèi)(無(wú)論如何不會(huì)超過(guò)你閱讀第2章所花費(fèi)的時(shí)間)快速開發(fā)出屬于你的游戲。你閱讀本書是因?yàn)槟阆胍獮閕Phone、iPad設(shè)備開發(fā)游戲,而毫無(wú)疑問(wèn),使用Cocos2D是達(dá)到此目的的最快方式。Cocos2D關(guān)鍵特性你仍然不確定Cocos2D是否合適?好吧,看看這些可以使你在制作下一個(gè)游戲時(shí)輕松許多的Cocos2D的驚人特性。動(dòng)作動(dòng)作(Action)是Cocos2D中最強(qiáng)大的功能之一。動(dòng)作可以讓你輕松地移動(dòng)、縮放、控制精靈和其他對(duì)象。舉個(gè)例子,在5秒內(nèi)平滑地移動(dòng)太空貨運(yùn)飛船,在屏幕上向右前進(jìn)400像素的距離,需要的所有代碼如下:就是這樣,只有兩行代碼!圖P.1闡釋了作用于太空貨運(yùn)飛船的moveAction。圖P.1闡釋了作用于太空貨運(yùn)飛船精靈的moveAction的效果在Cocos2D中有許多內(nèi)置動(dòng)作:旋轉(zhuǎn)、縮放、跳躍、閃爍、淡入淡出、著色、動(dòng)畫序列等。也可以把一些動(dòng)作串聯(lián)在一起,并且用很少的代碼調(diào)用自定義回調(diào)得到很棒的效果。內(nèi)置字體支持Cocos2D使得文本的處理變得很方便,這對(duì)于游戲的菜單系統(tǒng)、分?jǐn)?shù)顯示、調(diào)試,以及更多功能十分重要。Cocos2D包含嵌入TrueType字體支持,也包含一個(gè)快速位圖字體渲染系統(tǒng),所以只需要幾行代碼就可以在屏幕上顯示文本。龐大的特效庫(kù)Cocos2D包含一個(gè)強(qiáng)大的粒子系統(tǒng),可以很方便地為游戲添加諸如煙霧、火焰、雨滴和雪花等很酷的特效。Cocos2D也內(nèi)置了諸如翻轉(zhuǎn)、漸現(xiàn)漸隱等游戲中屏幕間轉(zhuǎn)換的特效。理想的瓷片地圖游戲支持Cocos2D包含對(duì)瓷片地圖(tile-mapped)游戲的內(nèi)置支持,當(dāng)擁有一個(gè)由微小的可復(fù)用圖片組成的巨大游戲世界時(shí),這是非常有用的。Cocos2D也使得來(lái)回移動(dòng)攝像機(jī)(camera)以滾動(dòng)背景或?qū)幼兊煤芊奖?。最后,Cocos2D也支持視差滾動(dòng),從而賦予游戲3D深度錯(cuò)覺(jué)和透視效果。音頻/聲音支持Cocos2D中的聲音引擎允許你方便地使用OpenAL的強(qiáng)大威力,而不用關(guān)心低層API。使用Cocos2D聲音引擎,只需要一行代碼即可播放背景音樂(lè)或音效。兩個(gè)強(qiáng)大的物理引擎Cocos2D捆綁了兩個(gè)強(qiáng)大的物理引擎,Box2D和Chipmunk,它們對(duì)游戲來(lái)說(shuō)都是很棒的。使用這兩個(gè)物理引擎,你可以為游戲營(yíng)造前所未有的真實(shí)感,并創(chuàng)建出全新的游戲類型—而不需要是一個(gè)數(shù)學(xué)大師。重要概念在開始之前,重要的是確保你熟悉關(guān)于Cocos2D和游戲編程通用的一些重要概念。精靈可以看到術(shù)語(yǔ)“精靈”(sprite)經(jīng)常使用在游戲開發(fā)中。精靈是一個(gè)可以獨(dú)立于其他圖像在屏幕上移動(dòng)的圖像,可以是玩家角色、敵人,或者是用于背景中的一張大圖。實(shí)際上,精靈主要由PNG或PVRTC格式的圖像文件構(gòu)成。一旦被加載到內(nèi)存中,精靈通過(guò)iPhone GPU轉(zhuǎn)換成紋理,渲染到屏幕上。單例單例(singleton)是一個(gè)特殊類型的Objective-C類,它只有一個(gè)實(shí)例。一個(gè)例子是,iPhone應(yīng)用委托類(Application Delegate class),或Cocos2D中的Director類。在代碼中調(diào)用一個(gè)單例實(shí)例時(shí),無(wú)論是哪個(gè)類調(diào)用它,總是會(huì)獲取到這個(gè)類的唯一一個(gè)實(shí)例對(duì)象。OpenGL ESOpenGL ES是一個(gè)移動(dòng)版本(ES表示嵌入式系統(tǒng),Embedded System)的開放圖形語(yǔ)言(Open Graphics Language, OpenGL)。它是你在iPhone或iPad上將0和1發(fā)送給GPU的最常用語(yǔ)言。OpenGL ES是在iPhone或iPad上渲染圖形的最快方式,由于它的起源,它是一個(gè)低層的應(yīng)用程序編程接口。如果你是一個(gè)游戲開發(fā)新手,會(huì)覺(jué)得OpenGL ES很難學(xué)習(xí),但是幸運(yùn)的是使用Cocos2D不需要了解OpenGL ES。在iPhone和iPad上,支持兩個(gè)版本的OpenGL ES,即OpenGL ES1.1和2.0。Cocos2D中計(jì)劃支持OpenGL ES2.0,但當(dāng)前只支持1.1版本。語(yǔ)言和屏幕分辨率Cocos2D由Objective-C語(yǔ)言編寫而成,與編寫Cocoa Touch類庫(kù)和主要的Apple iOS API的語(yǔ)言相同。在Objective-C中,了解一些基本的內(nèi)存管理技術(shù)是很重要的,因?yàn)樗亲屇阍趇OS平臺(tái)上成為一個(gè)高效游戲開發(fā)者的基礎(chǔ)。Cocos2D支持從最早期的iPhone到iPad再到iPhone4上的視網(wǎng)膜屏(retina)顯示,支持所有設(shè)備的原生分辨率。2D與3D要想跑得先學(xué)會(huì)走。游戲開發(fā)也是如此,在潛心于3D游戲的更深層概念之前,要學(xué)習(xí)如何制作2D游戲。在Cocos2D中有一些3D特效和轉(zhuǎn)換,例如一個(gè)3D聲波特效和一個(gè)軌道攝像機(jī)移動(dòng),然而,大部分功能是面向2D游戲和圖形的。Cocos2D是為2D游戲設(shè)計(jì)的(因此名字中有2D字眼),所以本書中的指南和例子也是2D的。如果想要制作3D游戲,你要考慮不同的框架,例如Unity、Unreal Engine(虛幻引擎),或直接使用OpenGL。本書背后的游戲:Space Viking本書將帶你體驗(yàn)為iPhone和iPad創(chuàng)建一個(gè)全功能的基于Cocos2D的游戲的全過(guò)程。在本書中創(chuàng)建的游戲名為Space Viking。如果想要現(xiàn)在嘗試一下游戲,可以在App Store下載一個(gè)游戲的免費(fèi)版本,并且在iPhone、iPod touch或iPad上安裝它。當(dāng)然,如果你更有耐心,可以在學(xué)完本書后,構(gòu)建屬于自己的游戲,并且在設(shè)備上加載它。沒(méi)有比有能力測(cè)試自己構(gòu)建的游戲更美妙的學(xué)習(xí)經(jīng)歷了。你不僅可以學(xué)到如何構(gòu)建游戲,還可以回過(guò)頭去,調(diào)整一下代碼以改變相關(guān)的事情,去看看對(duì)游戲體驗(yàn)有哪些具體影響。好東西只給善于等待的人。本書將教你如何使用Cocos2D的全部特性和能力,但更為重要的是,如何把它們應(yīng)用于真正的游戲中。在學(xué)完本書后,你將擁有在App Store發(fā)布游戲的必要知識(shí)和經(jīng)驗(yàn)。從構(gòu)建Space Viking游戲?qū)W得的概念適用于從動(dòng)作到解謎等不同種類的游戲。Space Viking的故事每個(gè)游戲都從創(chuàng)意開始,用角色和故事情節(jié)將其轉(zhuǎn)化成游戲。這里是Space Viking的故事。在未來(lái),地球上的人類后裔被迫殖民到太陽(yáng)系之外的行星。為了創(chuàng)造氣候宜人的環(huán)境,龐大的星際機(jī)器在北歐和格陵蘭島采掘巨大的冰塊,橫跨星系運(yùn)送到這些星球??茖W(xué)家們不清楚,在這些冰塊的一塊中包裹著北歐海盜Ole,他在億萬(wàn)年前,在擊敗入侵蠻族回家的路上跌入了冰冷的河水中,被裝在一個(gè)冰冷的墳?zāi)怪羞^(guò)了許多世紀(jì),由于外星太陽(yáng)的溫暖,Ole在幾千年后蘇醒—距離家鄉(xiāng)幾光年之外,如圖P.2所示。你開始扮演維京海盜Ole,并且與外星人戰(zhàn)斗在陌生的世界中,希望找到一條路讓Ole回到他的故鄉(xiāng)和時(shí)代。使用屏幕左側(cè)的拇指游戲操縱桿,控制Ole左右移動(dòng)。右側(cè)是跳躍和攻擊按鍵。開始Ole只使用雙拳。在后來(lái)的關(guān)卡(level)Ole找到了他信賴的木槌,在物理關(guān)卡使用加速計(jì)控制Ole。Space Viking是一個(gè)動(dòng)作冒險(xiǎn)類游戲,動(dòng)作是其重點(diǎn)。我們的目標(biāo)是從無(wú)到有創(chuàng)建一個(gè)真正的游戲,所以可以學(xué)習(xí)到不只是Cocos2D的知識(shí),還有如何在一個(gè)全功能的游戲中使用它。游戲創(chuàng)意來(lái)自概念藝術(shù)家、圖形藝術(shù)家Eric Stevens和其他一些資深游戲玩家,在開發(fā)早期我們共同討論了這個(gè)游戲創(chuàng)意。Space Viking由許多關(guān)卡構(gòu)成,每個(gè)關(guān)卡展示Cocos2D或游戲類型的一部分。例如,第一關(guān)是一個(gè)橫向滾動(dòng)的生死戰(zhàn)(beat抏m up),第四關(guān)是一個(gè)小車競(jìng)速關(guān)卡,這個(gè)關(guān)卡展示了來(lái)自Box2D和Chipmunk引擎的游戲物理效果。我們希望你可以在完成本書后,復(fù)用Space Viking游戲的一部分,制作自己的游戲!沒(méi)錯(cuò),你可以自由地復(fù)用本書中的代碼來(lái)構(gòu)建自己的游戲。本書的組織結(jié)構(gòu)本書的目標(biāo)是隨著構(gòu)建Space Viking游戲講解關(guān)于使用Cocos2D開發(fā)游戲的知識(shí)(了解更多關(guān)于探索和維京海盜Ole的故事)。我們將從一個(gè)簡(jiǎn)單的關(guān)卡和一些基本的游戲機(jī)制開始,通過(guò)努力提升以創(chuàng)建使用物理系統(tǒng)和粒子系統(tǒng)的關(guān)卡,最終到本書末尾完成游戲。首先學(xué)習(xí)Cocos2D的基礎(chǔ)知識(shí),用Ole的基本的奔跑和跳躍移動(dòng)創(chuàng)建一個(gè)小的關(guān)卡。第二部分展示如何為Space Viking添加動(dòng)畫序列(animation)、動(dòng)作、特效和文字。第三部分游戲更進(jìn)一步,添加更多關(guān)卡和場(chǎng)景、聲音和滾動(dòng)的游戲體驗(yàn)。在第四部分中,用Box2D和Chipmunk物理引擎把真實(shí)感帶到游戲中。最終在第五部分中,學(xué)習(xí)如何添加粒子系統(tǒng)、添加高分榜、連接到社交網(wǎng)絡(luò),以及調(diào)試優(yōu)化Space Viking以為未來(lái)構(gòu)建游戲找出最佳實(shí)踐。本書中有17章和一個(gè)附錄,每章處理創(chuàng)建Space Viking的一個(gè)特定部分。第一部分學(xué)習(xí)如何安裝Cocos2D并且開始使用它創(chuàng)建Space Viking。學(xué)習(xí)如何為Ole和他的敵人添加動(dòng)畫序列,并讓他們運(yùn)動(dòng)。第1章本章介紹如何在Xcode中安裝Cocos2D框架和模板,以及一些方便游戲開發(fā)的配套工具。這些工具都可以免費(fèi)使用,并且有助于創(chuàng)建Cocos2D使用的元素。第2章這里創(chuàng)建了Space Viking的基礎(chǔ),這個(gè)游戲貫穿全書。起初只是一個(gè)基本的Cocos2D模板,并且添加英雄(維京海盜Ole)到屏幕上。在本章的第二部分,添加處理觸摸輸入的方法,包括來(lái)回移動(dòng)Ole,并使他跳躍。第3章在本章中,通過(guò)給Ole在屏幕上移動(dòng)時(shí)添加動(dòng)畫序列,學(xué)習(xí)如何讓游戲看起來(lái)更具有真實(shí)性。第4章在本章中,學(xué)習(xí)如何實(shí)現(xiàn)簡(jiǎn)單的碰撞檢測(cè),以及添加第一個(gè)敵人到Space Viking游戲中,這樣Ole可以開始戰(zhàn)斗以離開這個(gè)星球!第二部分學(xué)習(xí)如何為Ole的戰(zhàn)斗創(chuàng)建更復(fù)雜的敵人,在此過(guò)程中學(xué)習(xí)Cocos2D動(dòng)作和特效。使用Cocos2D文本功能,完成一個(gè)現(xiàn)場(chǎng)的、屏幕上的調(diào)試系統(tǒng)。第5章動(dòng)作是Cocos2D中的一個(gè)關(guān)鍵概念—是來(lái)回移動(dòng)對(duì)象、使它們變大或者消失等的簡(jiǎn)單方式。在本章中,通過(guò)添加道具和武器到關(guān)卡實(shí)踐它們(動(dòng)作),并學(xué)習(xí)其他一些重要的Cocos2D能力,例如特效和調(diào)度器(scheduler)。第6章大部分游戲中都有文字,Space Viking也不例外。在本章中,學(xué)習(xí)使用Cocos2D中不同的可用方法,將文字添加到游戲中。第三部分學(xué)習(xí)如何通過(guò)添加菜單、使用聲音和滾動(dòng),來(lái)擴(kuò)展已經(jīng)構(gòu)建完整的Space Viking游戲關(guān)卡。第7章幾乎所有的游戲都不止一個(gè)“屏幕”(screen,或稱“場(chǎng)景”(scene),在Cocos2D中稱為場(chǎng)景),通常至少是主菜單、主游戲場(chǎng)景、關(guān)卡完成和致謝場(chǎng)景。在本章中,通過(guò)在Space Viking中實(shí)現(xiàn)它們來(lái)學(xué)習(xí)如何創(chuàng)建多場(chǎng)景。第8章在游戲中添加音效和音樂(lè),可以大大提升游戲體驗(yàn)。Cocos2D使用CocosDenshion聲音引擎使這變得十分簡(jiǎn)單,所以本章中,嘗試一下它!第9章大部分游戲都有一個(gè)單一屏幕不能容納的世界,所以這個(gè)世界需要隨著玩家的移動(dòng)而滾動(dòng)。正確處理這個(gè)問(wèn)題是一個(gè)技巧,所以本章展示如何轉(zhuǎn)換一個(gè)“生死戰(zhàn)”為橫向滾動(dòng)(sidescroller),使用Cocos2D瓷片地圖以提高效率。第四部分Box2D和Chipmunk物理引擎包含在Cocos2D中,可用來(lái)為游戲添加驚人的特效,例如重力、逼真的碰撞,甚至人偶動(dòng)畫(ragdoll)效果。在這個(gè)部分將為Space Viking添加一些基于物理(physics-based)的從簡(jiǎn)單到高級(jí)的關(guān)卡。第10章正如Cocos2D可以使你在不了解OpenGL低層細(xì)節(jié)的情況下,很容易地為iPhone制作游戲一樣,利用Box2D你可以很容易地為游戲?qū)ο筇砑游锢硇Ч槐厥且粋€(gè)數(shù)學(xué)專家。在本章中,通過(guò)創(chuàng)建一個(gè)對(duì)象根據(jù)重力移動(dòng)的有趣的解謎游戲,來(lái)學(xué)習(xí)如何開始使用Box2D。第11章在本章中,通過(guò)啟動(dòng)橫向滾動(dòng)小車競(jìng)速游戲,展示了一些Box2D可以處理的純粹的物體。在此過(guò)程中,你將學(xué)習(xí)如何模擬任意形狀的圖形、添加物理形體的關(guān)節(jié)移動(dòng)約束,以及更多內(nèi)容!第12章在本章中,通過(guò)添加要躲避的尖刺和史詩(shī)般的關(guān)底戰(zhàn),為小車競(jìng)速關(guān)卡添加更多令人驚嘆的效果。將學(xué)習(xí)關(guān)節(jié)、如何檢測(cè)碰撞,以及如何為敵人添加邏輯。第13章Cocos2D自帶的第二個(gè)物理引擎名為Chipmunk,與Box2D相似。本章展示了如何使用Chipmunk引擎,將其與Box2D進(jìn)行比較,以及通過(guò)制作一個(gè)銀河戰(zhàn)士風(fēng)格的逃逸關(guān)卡,幫讀者獲得直接的實(shí)踐經(jīng)驗(yàn)。第五部分學(xué)習(xí)如何快速創(chuàng)建粒子系統(tǒng)并將其添加到游戲中,如何為在線高分榜和成就系統(tǒng)整合蘋果游戲中心(Apple抯 Game Center),以及一些性能主題和技巧以使游戲運(yùn)行得更快。第14章使用Cocos2D的粒子系統(tǒng)可以為游戲添加一些令人驚嘆的特效—極其簡(jiǎn)單!在本章中,將學(xué)習(xí)如何使用粒子系統(tǒng)為Space Viking添加一些特效,例如飛船尾焰。第15章利用蘋果游戲中心,可以十分方便地為游戲添加成就系統(tǒng)和高分榜,對(duì)玩家來(lái)說(shuō)會(huì)有更多的樂(lè)趣,也可能會(huì)幫助提高銷量。本章介紹如何在Space Viking中一步步設(shè)置。第16章在本章中,將學(xué)習(xí)如何解決優(yōu)化中要面對(duì)的一些常見挑戰(zhàn)和問(wèn)題,以及最大程度優(yōu)化和完善Cocos2D游戲。你可以獲得最常用的調(diào)試性能問(wèn)題的經(jīng)驗(yàn)和解決方案。第17章最后一章回顧了所學(xué)的知識(shí),并且介紹下一步的方向:3D,在其他平臺(tái)(例如Android)使用Cocos2D以及更多高級(jí)的游戲開發(fā)主題。附錄附錄提供了一個(gè)Cocos2D中將要使用的主要類的概述。此時(shí)你已經(jīng)完成了本書的閱讀,將擁有從頭制作一個(gè)很棒的游戲的實(shí)際經(jīng)驗(yàn)!可以采用所學(xué)到的概念(甚至是一些代碼),把自己的游戲變成現(xiàn)實(shí)。本書的讀者本書的讀者包括那些遲遲不愿進(jìn)行游戲開發(fā)的開發(fā)人員,因?yàn)樗麄冋J(rèn)為學(xué)習(xí)會(huì)很漫長(zhǎng)、很復(fù)雜。許許多多的開發(fā)者有編寫游戲的意愿,但是不清楚從哪里入手游戲開發(fā)或Cocos2D框架。本書是一本指南,引導(dǎo)你從非常初級(jí)的Cocos2D使用到運(yùn)用Box2D和Chipmunk物理引擎中的高級(jí)物理概念。本書是針對(duì)有興趣在包括iPhone、iPad和iPod touch等iOS設(shè)備上創(chuàng)建游戲的開發(fā)者。本書假定讀者對(duì)Objective-C、Cocoa Touch和Xcode工具有基本的了解。不需要了解任何低級(jí)應(yīng)用程序接口(Core Audio、OpenGL ES等),因?yàn)檫@些都是在Cocos2D內(nèi)部使用的。本書的目標(biāo)讀者如果你已經(jīng)在為其他平臺(tái)的iPhone開發(fā)應(yīng)用程序,但是想要從功能應(yīng)用轉(zhuǎn)移到游戲,那么本書很適合你。本書基于讀者已掌握的開發(fā)知識(shí),通過(guò)介紹術(shù)語(yǔ)、技術(shù)和必要的工具,以及一個(gè)真實(shí)的游戲?qū)崿F(xiàn)例子,引領(lǐng)讀者步入游戲開發(fā)的世界。非本書的目標(biāo)讀者如果讀者已經(jīng)理解創(chuàng)建一個(gè)游戲必要的工作流,或者有一個(gè)堅(jiān)定的游戲創(chuàng)意必須要為3D圖形使用OpenGL ES,那么本書不適合這樣的讀者。我們期望,在閱讀本書之前,讀者已經(jīng)熟悉了Objective-C、C、Xcode和Interface Builder。雖然本書中所描述的實(shí)現(xiàn)已經(jīng)盡可能簡(jiǎn)單,對(duì)C語(yǔ)言的使用也是最低限度的,但這些語(yǔ)言的堅(jiān)實(shí)基礎(chǔ)是必備的。以下書籍可以幫助提供通讀本書的必要背景知識(shí):這些書和其他能在網(wǎng)絡(luò)上找到的資源,將幫助讀者學(xué)習(xí)更多在Mac和iPhone上編程的方法,讓讀者更深入地了解Objective-C語(yǔ)言和Cocoa框架的知識(shí)。源碼、視頻指南和論壇獲取信息不局限于本書。還有完整的(也包括Space Viking的全部源代碼)源碼和視頻指南可幫助讀者掌握每章介紹的概念。貫穿全書有大量的代碼和習(xí)題,所以假定讀者已經(jīng)獲取了蘋果開發(fā)工具,例如Xcode和iPhone SDK。所有這些工具都可以從蘋果iPhone開發(fā)中心下載。在閱讀本書時(shí),如果想與同行交流,可以訪問(wèn)本書的論壇。致謝如果沒(méi)有以下這些人的辛勤工作、熱心投入以及全力支持,本書不會(huì)完成:首先,感謝我們的編輯Chuck Toporek及其助手Olivia Basegio。Chuck在完成本書的過(guò)程中給予了我們太多的耐心幫助和鼓勵(lì)(盡管我們兩個(gè)都是第一次寫書),并協(xié)調(diào)管理了把一個(gè)簡(jiǎn)單的Word文檔變成讀者今天手中所捧的這本書的全部工作。Olivia在整本書編寫過(guò)程中,對(duì)成員間的工作協(xié)調(diào)以及技術(shù)評(píng)審有著巨大的貢獻(xiàn)。再次感謝你們使本書得以問(wèn)世!另一位我要感謝的人是Addison-Wesley公司的Chuti Prasertsith,他為本書精心設(shè)計(jì)了封面。衷心感謝Cocos2D的主開發(fā)者兼協(xié)調(diào)者Ricardo Quesada(也被稱為Riq),以及其他的Cocos2D貢獻(xiàn)者,如Steve Oldmeadow及其他同仁。如若沒(méi)有Riq團(tuán)隊(duì)的苦心經(jīng)營(yíng)和他們的奉獻(xiàn)精神,便不會(huì)有Cocos2D今天所擁有的完善框架和社區(qū),更不會(huì)有這本書的誕生。同時(shí),我們相信Cocos2D已經(jīng)給很多人的生活帶來(lái)了顛覆性的改變,使他們夢(mèng)想擁有專屬于自己游戲的愿望得以實(shí)現(xiàn)。Riq把Cocos2D作為他的全職工作,如果你想感謝他為本書所做出的辛勤付出,可以登錄www.cocos2d-iphone.Org/store為他捧場(chǎng)。Riq也出售他的游戲Sapus Tongue的源代碼,以及一個(gè)名為L(zhǎng)evel-SVG的優(yōu)秀物理編輯器。感謝Erin Catto(Box2D首席開發(fā)者)和Scott Lembcke(Chipmunk首席開發(fā)者)在非凡的物理引擎庫(kù)上的工作。如Riq對(duì)Cocos2D所做出的貢獻(xiàn)一樣,Erin和Scott的團(tuán)隊(duì)使無(wú)數(shù)程序員得以更加輕松快捷地寫好一款很炫酷的基于物理的游戲。Erin和Scott極其投入地專注于對(duì)物理庫(kù)和社區(qū)的支持與維護(hù),并抽出時(shí)間來(lái)評(píng)審本書中物理引擎相關(guān)的章節(jié)。十分感謝Cocos2D聲音引擎CocosDenshion的首席開發(fā)者Steve Oldmeadow。Steve評(píng)審了音頻章節(jié)。Steve的付出使很多游戲開發(fā)者可以快速輕松地為他們的游戲添加音樂(lè)和音效。Eric Stevens是美國(guó)杰出藝術(shù)家、兼職游戲插畫家。他和我們緊密合作,制作了游戲中的所有音效(包括Ole蘇醒)。音樂(lè)家Mike Weiser為Space Viking游戲制作了搖滾聲軌和音效。我們認(rèn)為音樂(lè)使Space Viking游戲與一般游戲有巨大的不同,真正給了我們期許的音樂(lè)氣氛。特別感謝Andrew Peplinski的維京海盜呼嚕聲和Rulon Brown帶來(lái)的在游戲開始時(shí)聽到的和聲。萬(wàn)分感謝我們的技術(shù)審校:Farim Farook、Marc Hebert、Mark Hurley、Mike Leonardi,以及Nick Waynik。這些工作伙伴及時(shí)地糾正在整個(gè)過(guò)程中我們正要犯下的愚鈍錯(cuò)誤,并為我們提供了很多的意見,這促使我們更好地完成了全書的每一章,非常感謝你們,我的伙伴們!我們每一個(gè)人心中都還有很多感謝的話想說(shuō)。Rod Strougo的致謝十分感謝我的妻子和家人在我全身心投入此書的寫作中時(shí),對(duì)我能夠如此耐心。曾經(jīng)有無(wú)數(shù)個(gè)夜晚,我埋頭在辦公室里,寫作、編輯以及寫代碼。假如沒(méi)有Agata的支持和理解,這本書將不可能存在。我的大兒子Alexander在這本書完成的過(guò)程中,也扮演著十分重要的角色,他協(xié)助完成了Space Viking的測(cè)試工作,我的孩子Anton在我完成最后一章的時(shí)候出生了。Agata,感謝你所給予我的所有鼓勵(lì)、愛(ài)和支持。我還要感謝Ray的參與,Ray完成了Box2D、Chipmunk和Game Center章節(jié)的編寫。Ray非常出色地完成了對(duì)Box2D和Chipmunk的深度覆蓋,并為Space Viking增添了很多有趣的關(guān)卡。Ray Wenderlich的致謝首先,十分感謝我的妻子,也是我最好的朋友,Vicki Wenderlich,感謝她在我寫作本書的整個(gè)過(guò)程中對(duì)我一如既往的支持,給我鼓勵(lì)并提供寶貴意見。沒(méi)有她的幫助,我今天無(wú)法制作iOS應(yīng)用,它們不可能像現(xiàn)在這樣出色!此外,也要感謝我的家人。你們信任我,伴我走過(guò)作為一名iOS獨(dú)立開發(fā)者的起起伏伏,支持我一路走來(lái)。非常感謝你們!最后,感謝我的iOS教程博客的所有讀者和支持者。沒(méi)有你們的關(guān)注、鼓勵(lì)和支持,我將失去繼續(xù)完成教程的動(dòng)力,也許將會(huì)和出版此書的機(jī)會(huì)失之交臂。萬(wàn)分感謝你們,讓這本書的出版成為現(xiàn)實(shí),同時(shí)我也希望你們都能喜歡這本書。

內(nèi)容概要

資深iOS開發(fā)工程師撰寫,Box2D創(chuàng)始人Erin Catto等多位專家聯(lián)袂推薦
系統(tǒng)講解Cocos2D中的各種功能組件及技術(shù)實(shí)現(xiàn)細(xì)節(jié),詳細(xì)介紹Box2D、Chipmunk兩大物理引擎的使用方法和粒子系統(tǒng)的原理,以及iOS游戲的性能測(cè)試和優(yōu)化
以一個(gè)真實(shí)有趣的游戲案例Space Viking為主線,全面展示了Cocos2D游戲開發(fā)的流程、方法和技巧,實(shí)戰(zhàn)性強(qiáng)

作者簡(jiǎn)介

作者:(美國(guó))Rod Strougo (美國(guó))Ray Wenderlich 譯者:李正陽(yáng)Rod Strougo,資深iOS開發(fā)工程師和游戲開發(fā)工程師,精通Cocos2D和Box2D等移動(dòng)游戲開發(fā)引擎,經(jīng)驗(yàn)豐富。Rod接觸物理引擎和游戲開發(fā)的時(shí)間非常早,可以追溯到早期的Apple II,當(dāng)時(shí)他使用Basic編寫游戲。Rod 是Prop Group 工作室的創(chuàng)始人和首席開發(fā)者,近年來(lái)熱衷于幫助其他人開始游戲制作之路。Ray Wenderlich,資深iOS開發(fā)工程師和游戲開發(fā)工程師,精通Cocos2D和Box2D等移動(dòng)游戲開發(fā)引擎,經(jīng)驗(yàn)豐富。Ray是Razeware LLC創(chuàng)始人,著有一系列iOS應(yīng)用和蘋果應(yīng)用開發(fā)相關(guān)的教程,涵蓋Objective-C、iPhone/iOS、Cocos2D、Corona、Unity和OpenGL等眾多主題。

書籍目錄

本書贊譽(yù)譯者序前言第一部分 Cocos2D初接觸第1章 你好,Cocos2D11.1 下載和安裝Cocos2D21.1.1 下載Cocos2D21.1.2 安裝Cocos2D模板31.2 創(chuàng)建你的第一個(gè)Cocos2D應(yīng)用HelloWorld31.2.1 查看Cocos2D模板41.2.2 構(gòu)建Cocos2D HelloWorld項(xiàng)目41.2.3 使HelloWorld更上一層樓61.2.4 添加移動(dòng)71.3 為更好奇的讀者:理解Cocos2D HelloWorld81.3.1 場(chǎng)景和節(jié)點(diǎn)81.3.2 開始101.3.3 進(jìn)一步探索Cocos2D源代碼141.4 安裝CCHelloWorld到iPhone或iPad上151.4.1 讓Xcode為你做所有事情161.4.2 為iPhone或iPad構(gòu)建應(yīng)用171.5 小結(jié)171.6 習(xí)題17第2章 你好,Space Viking182.1 創(chuàng)建Space Viking項(xiàng)目182.2 創(chuàng)建Space Viking類對(duì)象192.3 創(chuàng)建背景層202.4 GamePlayer層:把維京海盜Ole加入游戲中232.5 GameScene類:把層與場(chǎng)景連接起來(lái)252.6 Cocos2D Director262.7 添加運(yùn)動(dòng)272.7.1 導(dǎo)入JoyStick類282.7.2 添加JoyStick和按鍵282.7.3 將JoyStick運(yùn)動(dòng)應(yīng)用于維京海盜Ole312.8 紋理圖集352.8.1 紋理和紋理圖集的技術(shù)細(xì)節(jié)362.8.2 創(chuàng)建場(chǎng)景1紋理圖集382.8.3 添加場(chǎng)景1紋理圖集到Space Viking412.9 為更好奇的讀者:測(cè)試CCSpriteBatchNode412.10 在iPhone3G和老舊設(shè)備上調(diào)校性能432.11 小結(jié)432.12 習(xí)題43第3章 Cocos2D動(dòng)畫和動(dòng)作概述453.1 Cocos2D中的動(dòng)畫453.2 Space Viking設(shè)計(jì)基礎(chǔ)493.3 Cocos2D動(dòng)作和動(dòng)畫基礎(chǔ)523.4 使用屬性列表文件存儲(chǔ)動(dòng)畫數(shù)據(jù)533.5 組織、常量和通用協(xié)議553.5.1 創(chuàng)建常量文件563.5.2 通用協(xié)議文件573.6 GameObject和GameCharacter類593.6.1 創(chuàng)建GameObject593.6.2 創(chuàng)建GameCharacter類643.7 小結(jié)663.8 習(xí)題66第4章 簡(jiǎn)單碰撞檢測(cè)和第一個(gè)敵人674.1 創(chuàng)建RadarDish和Viking類674.1.1 創(chuàng)建RadarDish類674.1.2 創(chuàng)建Viking類724.2 最終步驟864.3 小結(jié)924.4 習(xí)題92第二部分 更多敵人和更多樂(lè)趣第5章 更多動(dòng)作、特效和Cocos2D調(diào)度器935.1 道具945.1.1 Mallet道具945.1.2 Health道具965.1.3 空間貨運(yùn)飛船985.2 敵人機(jī)器人1005.3 添加PhaserBullet1115.4 GameplayLayer和Viking更新1145.5 為更好奇的讀者:Cocos2D中的特效1185.5.1 Space Viking中有趣的特效1185.5.2 運(yùn)行EffectsTest1205.5.3 將精靈和對(duì)象恢復(fù)正常1205.6 小結(jié)1215.7 習(xí)題121第6章 文字、字體和書面語(yǔ)1226.1 CCLabelTTF類1226.2 理解錨點(diǎn)和對(duì)齊1236.3 CCLabelBMFont1256.4 使用Glyph Designer字體設(shè)計(jì)器1256.5 使用Hiero字體構(gòu)建工具1266.6 為更好奇的讀者:實(shí)時(shí)調(diào)試1296.6.1 更新EnemyRobot1296.6.2 更新GameplayLayer1326.6.3 文字調(diào)試器的其他應(yīng)用1336.7 小結(jié)1336.8 習(xí)題133第三部分 從關(guān)卡到游戲第7章 主菜單、關(guān)卡完成和致謝場(chǎng)景1357.1 Cocos2D中的場(chǎng)景1357.2 GameManager概述1367.3 Cocos2D中的菜單1447.4 場(chǎng)景組織與圖像1447.5 創(chuàng)建主菜單1467.5.1 創(chuàng)建MainMenuScene1467.5.2 MainMenuLayer類1477.6 其他菜單和GameplayLayer1537.6.1 導(dǎo)入Intro、LevelComplete、Credits和Options場(chǎng)景及層1537.6.2 GameplayLayer1537.6.3 修改SpaceVikingApp-Delegate類1557.7 為更好奇的讀者:IntroLayer類和LevelComplete類1567.8 小結(jié)1577.9 習(xí)題157第8章 添加音效1588.1 CocosDenshion概述1588.2 導(dǎo)入并設(shè)置音頻文件1588.2.1 為Space Viking添加音頻1598.2.2 音頻常量1598.3 同步異步加載音頻的比較1618.3.1 同步加載音頻1618.3.2 異步加載音頻1638.3.3 添加音頻到GameManager1638.4 添加SoundEngine到GameObject1748.5 為EnemyRobot添加聲音1778.6 為Ole添加音效1808.7 為菜單場(chǎng)景添加音樂(lè)1858.7.1 為Gameplay添加音樂(lè)1858.7.2 為MainMenu添加音樂(lè)1858.8 為更好奇的讀者:如果你需要更多音頻控制1858.9 小結(jié)1868.10 習(xí)題186第9章 當(dāng)世界變得更大:添加滾動(dòng)1879.1 為更廣闊的世界添加邏輯1889.2 創(chuàng)建更廣闊的世界1909.2.1 創(chuàng)建第2個(gè)游戲場(chǎng)景1919.2.2 創(chuàng)建滾動(dòng)層1979.3 與視差層一起滾動(dòng)2039.4 無(wú)限制滾動(dòng)2069.4.1 創(chuàng)建滾動(dòng)層2069.4.2 創(chuàng)建平臺(tái)場(chǎng)景2149.5 瓷片地圖2169.5.1 安裝Tiled工具2179.5.2 創(chuàng)建瓷片地圖2189.5.3 Cocos2D壓縮TileMap類2209.5.4 添加TileMap到ParallaxNode2229.6 小結(jié)2249.7 習(xí)題225第四部分 物理引擎第10章 基礎(chǔ)游戲物理學(xué):用Box2D增加現(xiàn)實(shí)性22710.1 開始22710.1.1 關(guān)于死亡的瘋狂夢(mèng)想22910.1.2 創(chuàng)建新場(chǎng)景22910.1.3 添加Box2D文件到你的項(xiàng)目23110.1.4 Box2D單位23510.2 你好,Box2D23610.2.1 創(chuàng)建Box2D對(duì)象23710.2.2 Box2D調(diào)試?yán)L制24010.2.3 整合所有元素24110.2.4 創(chuàng)建地面24310.3 基礎(chǔ)Box2D交互和裝飾24510.3.1 拖動(dòng)對(duì)象24710.3.2 質(zhì)量、密度、摩擦力和彈性25110.3.3 用精靈裝飾Box2D形體25410.4 制作一個(gè)Box2D解謎游戲26110.5 小結(jié)27110.6 習(xí)題271第11章 中級(jí)游戲物理學(xué):建模、競(jìng)速和跨越27211.1 開始27211.1.1 添加資源文件27211.1.2 創(chuàng)建基本的Box2D場(chǎng)景27311.2 用Box2D創(chuàng)建一個(gè)小車28311.2.1 用Box2D創(chuàng)建一個(gè)定制圖形28411.2.2 使用Vertex Helper工具28511.2.3 用Box2D旋轉(zhuǎn)關(guān)節(jié)添加輪子28811.3 讓小車移動(dòng)和跳躍29111.3.1 利用加速計(jì)使小車移動(dòng)29211.3.2 讓它可滾動(dòng)29411.3.3 力和沖量30211.3.4 固定傾卸臺(tái)30211.3.5 讓小車跳躍30311.3.6 更靈敏的轉(zhuǎn)向30611.4 小結(jié)30711.5 習(xí)題307第12章 高級(jí)游戲物理學(xué):更真實(shí)的物體30812.1 關(guān)節(jié)和人偶:帶Ole回到場(chǎng)景30812.1.1 限制旋轉(zhuǎn)關(guān)節(jié)30912.1.2 使用柱狀關(guān)節(jié)31012.1.3 如何在恰當(dāng)?shù)攸c(diǎn)創(chuàng)建多個(gè)形體和關(guān)節(jié)31112.1.4 添加Ole:實(shí)現(xiàn)31312.2 添加障礙物和橋梁31812.2.1 添加橋梁31812.2.2 添加尖刺32112.2.3 添加改良的主循環(huán)32512.3 關(guān)底戰(zhàn)斗32612.3.1 危險(xiǎn)的挖掘機(jī)33412.3.2 最后一擊:添加通關(guān)后電影序幕34012.4 小結(jié)34412.5 習(xí)題344第13章 Chipmunk物理引擎(不需要Alvin)34513.1 Chipmunk引擎是什么34513.2 Chipmunk引擎入門34713.2.1 添加Chipmunk引擎到你的項(xiàng)目中35113.2.2 創(chuàng)建基本的Chipmunk引擎場(chǎng)景35413.3 添加精靈并使它們移動(dòng)36113.3.1 通過(guò)直接設(shè)置速度跳躍36613.3.2 通過(guò)設(shè)置表面速度移動(dòng)地面36713.3.3 地面碰撞檢測(cè)36713.3.4 Chipmunk引擎裁判器和法線36813.3.5 碰撞檢測(cè)實(shí)現(xiàn)36813.3.6 移動(dòng)和跳躍實(shí)現(xiàn)37213.4 Chipmunk引擎和約束37613.4.1 旋轉(zhuǎn)平臺(tái)37813.4.2 樞軸、彈簧和普通平臺(tái)38013.5 偉大的逃脫38513.5.1 跟隨Ole38513.5.2 布局平臺(tái)38713.5.3 Ole動(dòng)畫序列38713.5.4 音樂(lè)和音效39113.5.5 添加背景39213.5.6 添加贏/輸條件限制39313.6 小結(jié)39413.7 習(xí)題394第五部分 粒子系統(tǒng)、游戲中心和性能第14章 粒子系統(tǒng):創(chuàng)建火焰、雪花、冰和更多39514.1 內(nèi)置粒子系統(tǒng)39614.1.1 運(yùn)行內(nèi)置粒子系統(tǒng)39614.1.2 在沙漠中降雪39714.2 粒子設(shè)計(jì)器入門39814.3 為Space Viking創(chuàng)建并添加粒子系統(tǒng)40114.4 小結(jié)40614.5 習(xí)題406第15章 游戲中心的成就系統(tǒng)和高分榜40715.1 什么是游戲中心40715.2 為你的應(yīng)用啟用游戲中心40915.2.1 獲取iOS開發(fā)者賬號(hào)40915.2.2 為應(yīng)用創(chuàng)建一個(gè)應(yīng)用程序ID40915.2.3 在iTunes里注冊(cè)你的應(yīng)用41215.2.4 啟用游戲中心支持41515.3 游戲中心身份驗(yàn)證41615.3.1 確定游戲中心可用41615.3.2 嘗試給玩家進(jìn)行驗(yàn)證41615.3.3 如果驗(yàn)證狀態(tài)發(fā)生變化則告知41715.3.4 實(shí)現(xiàn)41815.4 配置成就系統(tǒng)42315.4.1 添加成就系統(tǒng)到iTunesConnect42315.4.2 成就系統(tǒng)如何工作42515.5 實(shí)現(xiàn)成就系統(tǒng)42615.5.1 創(chuàng)建游戲狀態(tài)類42615.5.2 為加載和保存數(shù)據(jù)創(chuàng)建幫助函數(shù)42915.5.3 修改GCHelper以發(fā)送成就數(shù)據(jù)43115.5.4 在Space Viking中使用GameState和GCHelper43615.5.5 在應(yīng)用中顯示成就44015.6 設(shè)置并實(shí)現(xiàn)高分榜44215.6.1 在iTunes Connect里設(shè)置高分榜44215.6.2 高分榜的工作原理44315.6.3 實(shí)現(xiàn)高分榜44415.6.4 在游戲中顯示高分榜44515.7 小結(jié)44815.8 習(xí)題448第16章 性能優(yōu)化44916.1 CCSprite與CCSpriteBatchNode比較44916.1.1 測(cè)試性能差別45316.1.2 對(duì)紋理和紋理圖集的建議45316.2 復(fù)用CCSprite45516.3 Cocos2D分析器45716.4 用Instruments發(fā)現(xiàn)性能瓶頸45916.4.1 時(shí)間分析器46016.4.2 OpenGL Driver Instrument46116.5 小結(jié)46416.6 習(xí)題464第17章 結(jié)束語(yǔ)46517.1 展望未來(lái)46617.2 Android及其他平臺(tái)46617.3 最后的思考467附錄 Cocos2D的主要類468

編輯推薦

《Cocos2D應(yīng)用開發(fā)實(shí)踐指南:利用Cocos2D、Box2D和Chipmunk開發(fā)iOS游戲》編輯推薦:深iOS開發(fā)工程師撰寫,Box2D創(chuàng)始人Erin Catto等多位專家聯(lián)袂推薦!書中系統(tǒng)講解Cocos2D中的各種功能組件及技術(shù)實(shí)現(xiàn)細(xì)節(jié),詳細(xì)介紹Box2D、Chipmunk兩大物理引擎的使用方法和粒子系統(tǒng)的原理,以及iOS游戲的性能測(cè)試和優(yōu)化,以一個(gè)真實(shí)有趣的游戲案例Space Viking為主線,全面展示了Cocos2D游戲開發(fā)的流程、方法和技巧,實(shí)戰(zhàn)性強(qiáng)。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Cocos2D應(yīng)用開發(fā)實(shí)踐指南 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7