注意:
相對(duì)于Objective-C而言,你可能更喜歡別的編程語言,但我還是建議你學(xué)習(xí)Objective-C。我原本有很深的C++和C#背景,而且Objective-C語法乍一看還挺古怪,所以一開始我并不情愿去學(xué)這個(gè)據(jù)說是又陳舊又過時(shí)的編程語言。果不其然,有段時(shí)間我的日子過得相當(dāng)掙扎,我必須摒棄已經(jīng)養(yǎng)成的編程習(xí)慣和思維模式才能弄清楚怎樣用Objective-C來寫程序。
但是,千萬不要因?yàn)槔щy就放棄學(xué)習(xí)Objective-C。你確實(shí)需要花點(diǎn)時(shí)間去習(xí)慣它,但是這樣的付出馬上就會(huì)得到回報(bào)(只要教程和文檔足夠充分)。所以,再多努力都是值得的!
1.1.4 2D游戲引擎
顯然,cocos2d中的“2d”已經(jīng)表明了它是一個(gè)專注于開發(fā)2D游戲的引擎,這在當(dāng)今眾多的iOS游戲引擎中算是少見的。雖然它也可以用于加載并顯示3D對(duì)象,但是你必須自己寫出3D渲染代碼,否則就只能采用別的方法來加載和顯示3D模型了。我想說的是,iOS設(shè)備是一個(gè)非常理想的2D游戲平臺(tái)。它們通常比較容易開發(fā),也比較容易理解。很多情況下,它們對(duì)硬件的要求比較低,因此你可以創(chuàng)建更色彩鮮明、更細(xì)致的圖形。
1.1.5 物理引擎
目前有兩種集成在cocos2d里的物理引擎可供選擇:Chipmunk和Box2D。這兩種物理引擎僅僅在編寫它們的語言上有一些細(xì)微的差別:Chipmunk是用C編寫而成的,而Box2D是用C++編寫而成的,但它們的功能幾乎完全一樣。當(dāng)然,如果你仔細(xì)比較,還是會(huì)發(fā)現(xiàn)一些差別。不過,想要根據(jù)這些差別來作出選擇,就必須對(duì)物理引擎的工作機(jī)制有非常深入的理解。通常,應(yīng)該選擇一個(gè)你覺得比較容易理解的且提供的文檔比較好的物理引擎,所以大多數(shù)開發(fā)者都比較傾向于使用Box2D。而且,因?yàn)锽ox2D也采用了面向?qū)ο蟮乃枷?,所以與Objective-C一起使用會(huì)比較方便。
1.1.6 技術(shù)難度較低
游戲開發(fā)者最喜歡cocos2d的地方就在于它把底層的OpenGL ES代碼封裝得特別好。大多數(shù)圖形都是用簡(jiǎn)單的精靈類(CCSprite)來顯示的,而精靈對(duì)象又是根據(jù)圖像文件創(chuàng)建的。也就是說,一個(gè)精靈對(duì)象就是一個(gè)具有縮放、翻轉(zhuǎn)和著色能力的紋理,只要簡(jiǎn)單地對(duì)精靈對(duì)象相應(yīng)的Objective-C屬性稍作修改就可以完成這些效果。你并不需要關(guān)心OpenGL ES代碼的具體實(shí)現(xiàn),這就是cocos2d的美妙之處。
同時(shí),你可以靈活地對(duì)任意游戲?qū)ο笤谌我鈺r(shí)刻添加自己的OpenGL ES代碼。而且,Cocoa Touch中的用戶界面元素在cocos2d中也是適用的。
cocos2d引擎不僅封裝了OpenGL ES的實(shí)現(xiàn)細(xì)節(jié)(這樣你就不用費(fèi)盡心思去理解那些錯(cuò)綜復(fù)雜的步驟了),還對(duì)一些比較通用的操作進(jìn)行了高度的抽象,其中包括一些實(shí)現(xiàn)起來需要大量iPhone SDK背景知識(shí)的操作。但是,cocos2d并不會(huì)阻止你去接觸底層的實(shí)現(xiàn)。
1.1.7 依然需要編程
總的來說,cocos2d確實(shí)簡(jiǎn)化了iOS游戲的開發(fā)過程,但出色的編程技巧依然是需要掌握的。其他iOS游戲引擎,如Unity、iTorque和Shiva,都著重于向用戶提供工具箱和工作流來降低對(duì)編程能力的要求。使用這些引擎固然方便,但也失去了一些技術(shù)上的自由,而且還得付費(fèi)。至于cocos2d,要使用它確實(shí)需要花些功夫,但是相比其他引擎,cocos2d更能凸顯出游戲編程的本質(zhì)。使用cocos2d的開發(fā)者關(guān)注的是游戲編程的核心問題,同時(shí)由于cocos2d良好的封裝性,他們又不必真正地去處理最底層的實(shí)現(xiàn)。
1.1.8 超棒的cocos2d社區(qū)
在cocos2d社區(qū),總有人能很快地回答你的問題,并且開發(fā)者可以自由地在這里分享知識(shí)和信息。
在這里,幾乎每天都有新的教程和源碼示例發(fā)布,而且大多數(shù)都是免費(fèi)的。你會(huì)發(fā)現(xiàn)網(wǎng)上實(shí)在有太多太多的資源可供學(xué)習(xí)、帶來靈感。
一旦游戲制作完成并在App Store上架,你就可以把它推薦到cocos2d網(wǎng)站上。這么做至少可以幫助你獲得其他開發(fā)者的關(guān)注,幸運(yùn)的話還會(huì)得到一些非常有價(jià)值的反饋信息。
注意:
如果想要密切關(guān)注cocos2d社區(qū)的最新動(dòng)態(tài),建議你成為Twitter上cocos2d的粉絲(http://twitter.com/cocos2d)。
如果想成為我的粉絲,可以訪問http://twitter.com/gaminghorror。
在Twitter的搜索框內(nèi)輸入“cocos2d”,然后單擊Save this search鏈接。這樣你平時(shí)只需一次單擊就可以經(jīng)常地查看cocos2d的新帖子了。通常來說,這么做能讓你看到一些非常有用但卻容易忽略的cocos2d的相關(guān)信息。而且,你一定會(huì)在這里結(jié)識(shí)不少使用cocos2d的開發(fā)者。