商品簡介
作者簡介
名人/編輯推薦
序
為什么要寫這本書
在大學期間,我開始對移動游戲開發感興趣,于是開始學習移動開發方面的相關知識,包括J2ME和Android等技術。現在,開始的好奇心和興趣成就了我引以為豪的事業。在大四的時候,我到了天津猛犸實習,從J2ME平臺到Android平臺,從Android平臺到iOS平臺,我不僅接觸了不同平臺的開發,更學會了游戲開發的技巧和思想。如果說編程是一門藝術,那么游戲開發就是藝術中的藝術。作為一名游戲開發程序員,不僅要擁有熟練的編程技巧,還要對美術、策劃和游戲有深入的理解。游戲程序員最重要的是游戲編程思想,因此當決定寫這本書的時候,我深知不僅要分享Cocos2D-x相關的知識,更要分享游戲開發思想。
作為從J2ME手機游戲時代走過來的開發者,我深知移動平臺游戲可移植性的重要。J2ME這項技術的學習相對簡單,應用這項技術進行開發的速度也比較快,而且當時幾乎所有手機平臺都支持Java,所以“一次編碼,到處運行”也就不是夢想了。但是由于受機型的硬件性能所限,不同的平臺在移植上也需要下一番工夫,針對不同屏幕、不同內存,往往需要開發不同的版本。當時的開發者根據經驗,往往把很多種機型分組處理,為每組開發一個模板,然后再針對在不同機型上的運行情況做不同的調整,從而形成一種相對高效的開發模式。盡管在這個階段手機設備的硬件水平普遍偏低,但是開發者經常可以通過美術、程序、策劃三方的配合,開發出具有非常好的效果的游戲。由于J2ME的學習和開發都很簡單,因此很少有成型的引擎,只是不同的游戲對應不同的框架。
隨著蘋果iOS系統和iPhone、iPad等一系列產品的發布,隨著Android系統和相應設備的誕生,移動平臺的種類得到了豐富,并從單一的手機發展到平板電腦等多種手持設備上。而移動游戲的開發方式同樣也有了改變,開發者們開始嘗試針對不同平臺的開發框架來進行開發。智能平臺的硬件及性能的提高并沒有帶來游戲品質的提高,于是開發者們也探索著進行只針對單一平臺的開發,他們利用平臺特性(多點觸屏,重力感應等)開發出了很多不錯的游戲。雖然Android平臺的屏幕及分辨率也是千差萬別,但是由于出色的框架使得開發和移植變得簡單起來,同時也不需要過多考慮內存的限制。但是問題依然存在,對于不同的智能平臺(Android、iOS等操作系統)依然需要編寫不同的代碼來進行開發,如何跨平臺這個問題擺在了開發者面前。
跨平臺的引擎有基于HTML5的跨平臺特性產生的開發引擎,也有基于OpenGL開發的游戲引擎,其中Cocos2D-x廣泛受到開發者的關注,因為它不僅具有跨平臺的特點,還具有受Cocos2D全球社區的支持、框架簡單易學、十分容易上手等特點。經過一段時間的發展,開發者使用Cocos2D-x開發出了多款成功的游戲,包括捕魚達人、地鐵總動員等佳作。2012年年初,Cocos2D-x團隊再次開發出兩個分支,分別是支持Windows Phone的XNA版和支持HTML5的HTML5版,后者還得到了Google的贊助。在Zynga的幫助下,Cocos2D-x正在研發綁定JavaScript的Cocos2D-x2.0版本。隨著Cocos2D及其分支的發展,Cocos2D會有更多跨平臺特性,從而可以支持更多的平臺,并且提高開發者的開發效率。相信Cocos2D-x將會更加受到廣大開發者的歡迎。
正因為這樣,2011年年底我開始接觸Cocos2D-x引擎,并在我的CSDN博客上(博客地址:http://blog.csdn.net/bill_man)寫了一些相關的文章,當初的目的就是為自學留下些筆記以供以后參考,因為當時的Cocos2D-x參考資料還不是很多。后來逐漸發展為把我學習中遇到的問題與大家分享。慢慢地,通過使用,我發現Cocos2D-x是一個對開發者十分友好的游戲引擎,于是我希望把自己引擎的使用經驗結合游戲開發經驗更系統、更全面的分享出來,于是就有了這本書。
讀者對象
Cocos2D-x初級及中級開發者,了解C++語言和游戲開發的讀者;
沒有接觸過Cocos2D-x,但有過Cocos2D其他版本開發經驗的開發者;
沒有Cocos2D-x和C++開發經驗,但是有C、Java等語言開發經驗的游戲程序員;
相關項目的策劃及管理人員;
游戲開發愛好者;
大專院校相關專業的師生。
如何閱讀本書
本書分為四部分:
第一部分(第1~2章)為準備篇,介紹了Cocos2D-x的下載與安裝,以及交叉編譯環境的搭建,為后面的開發做準備。
第二部分(第3~10章)為基礎篇,重點講解了Cocos2D-x中的核心類、動作、動畫、特效、文字、字體、事件處理、地圖、聲音以及物理引擎的使用,這部分結合Cocos2D-x自帶的tests實例進行講解,目的是讓讀者全面掌握Cocos2D-x的基礎理論和基本使用。
第三部分(第11~12章)為實戰篇,采用Cocos2D-x分別開發了一款縱版射擊游戲和橫版動作游戲,旨在讓讀者深入了解Cocos2D-x的基礎知識在游戲開發中的實戰使用,而且這兩款游戲分別代表了縱版卷軸和橫版卷軸,可以讓開發者深入了解不同類型游戲的開發思想。
第四部分(第13~16章)為高級篇,在前面的章節基礎上,介紹Cocos2D-x的粒子系統和相關粒子編輯器的使用,學習了Cocos2D-x實現常用的游戲算法、內存管理和調試方法,最后簡單介紹了Cocos2D的一個新的分支—Cocos2D-HTML5。
如果你是一名對Cocos2D-x有一定了解的開發者,可以從第3章開始閱讀,而如果你是一個Cocos2D-x的初學者,請從第1章開始閱讀。
勘誤和支持
由于作者的水平有限,加之編寫時間倉促,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。為了方便與大家交流,我專門申請了新浪微群,大家有問題可以在群中提出,我會及時解答的,我還會在群中及時更正書中的錯誤,我也會將相應的功能更新及時發布出來。書中的全部源文件可以從華章網站下載。如果你有更多的寶貴意見,也歡迎發送郵件,期待能夠得到你們的真摯反饋。
致謝
首先感謝Cocos2D以及Cocos2D-x的開發團隊,感謝他們為廣大游戲開發者開發出一款如此優秀的游戲引擎。
感謝我的“老東家”天津猛犸科技有限公司,感謝這家公司對我的鍛煉和栽培,使我對游戲開發由“好奇”變成“愛好”,感謝公司中我的老師和好戰友們,感謝他們和我并肩作戰的日子,我在他們身上學到的東西讓我對游戲開發有了更深的認識和熱愛。
感謝天津大學以及我的老師和同學們,尤其是我的編程啟蒙老師羅凱先生。
感謝CSDN網站上每一位閱讀我文章的網友們,是你們給了我信心,讓我一直寫下去。
感謝實戰篇中游戲實例的美術人員:其中第11章游戲實例的美術人員為許鵬,第12章游戲實例的美術人員為李祖一。
感謝機械工業出版社華章公司的楊福川和白宇,感謝二位老師在這一段時間中始終支持我的寫作,是他們的鼓勵和幫助引導我順利完成全部書稿。可以說沒有二位老師的幫助和支持,我不會有勇氣寫這本書。
感謝我的爺爺和奶奶,他們是我人生的啟蒙老師,盡管他們已經離開這個世界,但是我依然能感受到他們對我的支持和愛。
最后感謝我的父母,他們不僅含辛茹苦撫養我長大,還教會我很多做人的道理,為了他們我要更加努力。
謹以此書獻給我最親愛的家人,以及眾多熱愛游戲開發和Cocos2D-x的朋友們!
滿碩泉(bill_man)
于中國天津
目次
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。