可曾想象,有朝一日你會自己寫一個計算機游戲然后靠它賺錢?有了Apple的iTunes App Store及其配套移動設(shè)備,如iPhone、iPod Touch和iPad,要實現(xiàn)這個夢想不再是一件難事。當然,這并不表示開發(fā)一個游戲有多簡單,你仍然需要學習很多游戲開發(fā)和編程的知識。不過,既然你選擇了閱讀本書,我就有理由相信你已經(jīng)下定決心踏上這條游戲開發(fā)之路了。恭喜你你選擇了一個可能是全世界最有趣的游戲開發(fā)引擎——iPhone版cocos2d。
使用cocos2d的開發(fā)者可能有很多不同的專業(yè)背景,來自不同的領(lǐng)域。有些人(比如我)可能是已經(jīng)從事游戲開發(fā)好幾年甚至幾十年的專業(yè)人士,還有一些人可能是剛開始接觸iOS平臺游戲開發(fā),甚至有些人是剛轉(zhuǎn)行加入這一充滿激情的游戲開發(fā)領(lǐng)域。不管你屬于哪一類人,我保證,看完這本書一定能夠有所收獲。
是這樣一種信念讓我們走到一起:我們都熱愛游戲,也熱愛設(shè)計和編寫游戲。本書十分推崇這種信念,并會向讀者介紹一些能夠幫助簡化游戲開發(fā)過程的工具。最重要的是,這本書會教大家寫一些很有借鑒意義的小游戲,從中你可以學會如何把一些理論知識運用到現(xiàn)實的游戲開發(fā)中。
有些書會整頁整頁地教讀者怎樣用一些特定的游戲編程API來寫一個無聊的戰(zhàn)機類太空游戲(Asteroids),我讀到這種書的時候總是覺得特別沒勁。我覺得一本好書應該向大家介紹游戲編程的理念和開發(fā)工具,因為這些東西是永恒的,不會隨著API或編程喜好的變化而變化。我讀編程書籍和游戲開發(fā)書籍已經(jīng)有20多年了,我認為最有價值的書是那些高于技術(shù)本身的,是能夠讓我明白為什么這個地方會這樣設(shè)計、這樣編程、這樣做有什么好處的書。所以本書不僅會關(guān)注游戲代碼的含義,更會關(guān)注它的工作原理以及在哪些處理上需要根據(jù)情況權(quán)衡利弊。
我希望你能學著寫出一些有價值的、能在App Store上熱賣并且受玩家歡迎的游戲。我會介紹這本書里的示例游戲背后深藏的思想和技術(shù)理念,當然,我也會告訴你在游戲編程中如何使用cocos2d和Objective-C。本書源代碼中有大量注釋,它們可以幫助你正確地理解代碼的含義。
學習別人的源代碼并且根據(jù)注釋去關(guān)注一些重要設(shè)計對我來說是學習新知識的最好方法(我想它對你來說也會是一個很棒的方法)。你可以對這本書的隨書源代碼加以修改,進而做出自己的游戲。我非常期待在不久的將來能夠玩到你的游戲!完成你的游戲千萬別忘了告訴我!你可以通過我的郵箱(steffen@learn-cocos2d.com)聯(lián)系我,也可以登錄我的網(wǎng)站(http://www.learn-cocos2d.com)來給我留言。
1.1 選擇iPhone版cocos2d的理由
游戲開發(fā)者在選擇游戲引擎時首先會對他們要選擇的產(chǎn)品做一些評估。綜合以下因素,我認為cocos2d對許多開發(fā)者來說會是一個非常棒的選擇。
1.1.1 免費
首先,cocos2d是免費的。不需要花錢就可以用它來進行開發(fā)。其次,你可以隨心所欲地開發(fā)iPhone、iPod和iPad應用,無論免費還是收費都可以。說真的,這是完全沒有附加限制的。
cocos2d幾乎是由Ricardo Quesada一個人開發(fā)出來的。假如你想資助他對cocos2d進行一些后續(xù)開發(fā),或者想購買他的一些收費源碼工程項目,可以登錄http://www.cocos2d-iphone. org/store訪問cocos2d Store。
1.1.2 開源
cocos2d的第二個好處就是它是開源的,這就意味著你可以自由地學習游戲引擎的源代碼,或者在需要時對引擎作些改動??梢詮?a >http://www.cocos2d-iphone.org/download下載源代碼。
1.1.3 Objective-C
另外,cocos2d是用Objective-C編寫而成的,Objective-C是蘋果公司用于開發(fā)iPhone應用程序的本地編程語言(native programming language)。由于iPhone SDK也是用Objective-C編寫而成的,因此對于使用cocos2d的開發(fā)者來說,要理解蘋果公司的官方文檔和使用iPhone SDK提供的API并不困難。
其他很多有用的API,如Facebook Connect和OpenFeint,也是用Objective-C編寫而成的,所以要集成它們也非常容易。