官术网_书友最值得收藏!

前言

筆者第一次接觸Cocos2d-x是在2012年初。當時與一位朋友嘗試著制作了一款小游戲,上了App Store平臺。在開發中,筆者主要負責游戲美術,這其實不是筆者的長項,所以該游戲的美術效果可以用慘不忍睹來形容。雖然那時候的引擎版本只是1.x,并且開發的游戲相當失敗,但通過這個游戲,筆者對Cocos2d-x產生了濃厚的興趣。

其實Cocos2d-x算不上是一款功能超強的游戲引擎,但它很簡潔、小巧,是一款輕量級的游戲引擎。大多數程序員實際上更喜歡簡潔的東西,而不是龐然大物。Cocos2d-x簡潔的設計結合豐富的Demo,讓人可以很快上手,并能使用它開發出一些簡單的游戲。其代碼的開源及跨平臺特性也相當誘人。Cocos2d-x本身的這些特性結合市場的需求,使其很快就成為手游開發的主流引擎之一。

在Cocos2d-x剛開始“火”的那一段時間,市面上關于Cocos2d-x的書籍還十分匱乏。筆者利用業余時間對該引擎進行了深入研究,并使用它開發了幾個小游戲,也總結了一些開發經驗。之后一段時間,筆者萌生了按照自己的想法寫一本Cocos2d-x游戲開發圖書的想法。這個想法很快便進入了實施階段,但進展遠沒有想象的順利。其原因一方面是筆者寫作的速度跟不上Cocos2d-x的更新速度,另一方面是筆者的工作任務也很重,加之寫作期間還開發了四五個游戲作品,這使得本來就不充裕的時間更是捉襟見肘。

的確,Cocos2d-x的更新非常頻繁,并且引擎更新的同時帶來了很多接口的變化,一些代碼甚至需要進行重構。除了原有內容的變化改動之外,日益增加的新功能也加大了寫作的難度。雖然2013年底筆者已經完成了初稿,但是回過頭來閱讀一遍,發現書稿難以達到自己的預期。于是筆者做了一個決定:推翻重寫。在經歷了幾個月的重寫之后,Cocos2d-x版本已經升級到了3.0。筆者發現又有許多新增功能和新特性需要重新了解和學習,于是又經歷了一段時間的學習和使用,不得不決定再次對書稿做較大的改動,幾乎又推翻重寫了一次。從開始寫作直至完成書稿,整個過程一言難盡,飽含艱辛。在寫作的過程中,Cocos2d-x的書籍如雨后春筍相繼面市,加上自己工作繁忙,寫作時間有限,一度產生了放棄的念頭。但寫一本自己滿意的Cocos2d-x圖書的信念支撐筆者走到了最后。當然,這一切對筆者而言很有意義,也很有價值:其一是有機會能和讀者共享自己的心得體會;其二是筆者自己也得到了提升。畢竟寫書相對于寫代碼而言需要考慮的東西更多。代碼寫錯還可以改正,而書寫錯則將誤人子弟。

考慮到讀者群體的不同,筆者將本書分為《基礎卷》和《進階卷》兩個分冊。《基礎卷》主要是為了讓讀者夯實Cocos2d-x游戲開發的基礎知識,適合沒有經驗的零基礎讀者閱讀。《進階卷》內容全面,且實用性很強,可以拿來就用,快速解決問題,適合想要進階學習的讀者閱讀,也可以作為一本解決實際問題的手冊使用。當然,對于想要全面而深入學習Cocos2d-x游戲開發的讀者而言,則需要系統閱讀這兩本書。

本書是《精通Cocos2d-x游戲開發》的《進階卷》,是一種實用的Cocos2d-x進階圖書,是在筆者完成《基礎卷》寫作之后,用了一年多的時間編寫的。這一年多筆者工作繁忙,壓力巨大,幾乎很難在晚上10點之前下班,通常晚上一兩點下班是家常便飯。最長的加班記錄是到了第二天早上9點,也就是正常上班的時間。筆者在這種情況下利用大量業余時間寫作完成書稿,實屬不易。在寫作過程中,筆者不斷地將之前已完成的書稿中的一些過時內容及難以令自己滿意的內容推翻重寫,力求完美。

雖然工作繁忙,但筆者在工作中積累的經驗也成為了《進階卷》的寶貴素材。本書介紹了豐富的實用技巧,針對開發過程中需要用到的各種技術及可能碰到的各種問題,做了全面而深入的介紹。無論是需要解決問題的讀者還是需要增長經驗的讀者,都能通過閱讀本書有所收獲。本書對讀者的要求略高,需要讀者熟悉Cocos2d-x,最好能有一定的開發經驗。雖然在編寫時筆者盡量做到了圖文并茂,讓內容更加通俗易懂,但對于初學者而言還是有一定的難度。所以建議初學Cocos2d-x的讀者先閱讀《基礎卷》,以鞏固好基礎,然后再來閱讀《進階卷》,這樣學習效果會更好。如果是有針對性地解決某一問題,讀者可以閱讀相應章節。歡迎讀者在本書的QQ群中對閱讀中的疑問進行交流和討論。相信本書能夠讓每一個基礎扎實的Cocos2d-x程序員成為一個經驗豐富的Cocos2d-x開發高手。

本書內容特色

1.內容新穎,緊跟趨勢

本書內容新穎,緊跟技術趨勢,以當前主流的Cocos2d-x游戲引擎版本3.x為主進行講解,在一些必要的地方也兼顧了早期的2.x版本的內容,并對新舊版本之間的差異做了必要說明,適合更多的讀者群體閱讀。

2.覆蓋面廣,實用性強

本書專注于解決開發過程中碰到的各種問題,介紹各種常用的開發技術,涵蓋了游戲客戶端開發的大部分問題。

3.追求原創,與時俱進

相較于市場上千篇一律的Cocos2d-x學習教程,本書力求做到與眾不同,與時俱進。書中內容的組織不是堆砌知識點和簡單地翻譯技術文檔,而是從學習和理解的角度出發,并結合了筆者的實際開發經驗,使用絕大多數章節都是“干貨滿滿”。

4.風格活潑,講述準確

刻板的風格不是筆者所鐘愛的行文風格。筆者更喜歡用較為簡單和自由的文字和讀者交流,所以本書閱讀起來并不會枯燥乏味。另外,講解的準確性是對科技圖書的基本要求,只有準確的表達才能讓讀者不至于出現太多的理解偏差。所以筆者對書中的表述經過了反復斟酌和提煉,并采用了大量例圖、舉例和類比等手法,以便于讀者更容易理解和掌握。

5.舉一反三,擴展思維

本書并不滿足于按部就班地介紹功能和API,而是從實際應用出發,擴散思維,在解決問題的同時,讓讀者思考問題的本質,以更深入地理解所學知識,從而達到舉一反三、學以致用的效果。雖然本書介紹的是Cocos2d-x,但對技術點的介紹并不局限于Cocos2d-x,對于使用其他引擎的開發者,很多知識都是相通的,即所謂知行合一,方能真正掌握知識。

本書內容及知識體系

第1篇 實用技術篇(第1~16章)

本篇深入介紹了Cocos2d-x游戲開發的各種實用技術,涵蓋了熱更新、加密解密、骨骼動畫、調試技巧、Shader特效、物理引擎、分辨率適配等實用的技術點。讀者可以根據自己的需求和興趣挑選本篇的章節進行閱讀。

第2篇Lua篇(第17~22章)

本篇介紹了在Cocos2d-x中使用Lua開發的技巧,包含了Lua的基礎知識,以及在Cocos2d-x中如何使用Lua,分析了Quick-Cocos2d-x框架和原生Lua框架的區別。

第3篇 網絡篇(第23~31章)

本篇介紹了如何使用Cocos2d-x開發網絡游戲,包含了網絡基礎知識的講解,以及弱聯網、強聯網、局域網這3種網絡游戲的前后端開發,并提供了一個簡易橫版實時對戰游戲的Demo,相信讀者可以在Demo中更好地了解網絡游戲的開發知識。

第4篇 跨平臺篇(第32~36章)

跨平臺開發是Cocos2d-x程序員所必須掌握的知識,初次進行跨平臺移植的讀者難免會遇到不少問題,本篇詳細介紹了iOS和Android平臺下的開發和打包,涵蓋了豐富的知識點,如證書簽名、ABI、JNI等技術。打包也不是簡單地羅列操作步驟,對打包過程中遇到的各種問題都會追本溯源。另外本篇還介紹了如何使用AnySDK在iOS和Android下快速接入第三方SDK。

本書閱讀建議

由于Cocos2d-x游戲引擎是基于C++的,所以一些基礎的C++知識是必須知道的。假如讀者完全沒有任何編程方面的經驗,則不適合閱讀本書。

書中部分章節的內容可能較為深入,如果讀者對這部分內容一時難以理解,可以先跳過而閱讀后續章節,等讀完后續章節再回頭閱讀這部分內容,也許就豁然開朗了。如果是為了解決某個問題或者系統學習某個技術點,這種有針對性的閱讀效率會更高。

本書中的部分例子引用自Cocos2d-x引擎自帶的TestCpp,本書的配套資源中也提供了本書的代碼下載方式,讀者在學習的過程中可以參照TestCpp中的例子。

本書讀者對象

? 有一定Cocos2d-x游戲開發經驗的人員;

? Cocos2d-x開發人員;

? 想系統學習Cocos2d-x的程序員;

? 想豐富Cocos2d-x開發經驗的程序員;

? 想開發跨平臺手機游戲的人員;

? 從其他開發轉向Cocos2d-x的程序員;

? 大中專院校的學生和社會培訓的學員。

本書配套資源獲取方式

本書涉及的源代碼等資源需要讀者自行下載。請讀者登錄清華大學出版社網站www.tup.com.cn,然后搜索到本書頁面,在頁面上找到“資源下載”欄目,然后單擊“課件下載”或者“網絡資源”按鈕即可。讀者也可以在筆者的github中獲取,網址為https://github.com/wyb10a10

本書作者

本書由王永寶主筆編寫。其他參與編寫的人員有歐洲、吳穗勇、孫世志、吳穗智、李小妹、周晨、桂鳳林、李然、李瑩、李玉青、倪欣欣、魏健藍、夏雨晴、蕭萬安、余慧利、袁歡、占俊、周艷梅、楊松梅、余月、張廣龍、張亮、張曉輝、張雪華、趙海波、趙偉、周成、朱森。

本書的編寫對筆者而言是一個不小的挑戰,雖然筆者投入了大量的精力和時間,但只怕百密難免一疏。若讀者在閱讀本書時發現任何疏漏,希望能及時反饋給我們,以便及時更正。聯系我們請發郵件至wyb10a10@163.com或bookservice2008@163.com,也可以加入本書的QQ交流群83177510,交流學習心得,解決學習中遇到的各種問題。

最后祝各位讀者讀書快樂,學習進步!

編著者

主站蜘蛛池模板: 江永县| 察哈| 云浮市| 灵丘县| 庆元县| 乌审旗| 平远县| 恩施市| 山阳县| 黄龙县| 集贤县| 镇雄县| 红河县| 兰坪| 定结县| 赤水市| 白银市| 嫩江县| 湘阴县| 安平县| 石阡县| 昭平县| 搜索| 三明市| 贞丰县| 延寿县| 新巴尔虎右旗| 龙门县| 阿拉善左旗| 阿巴嘎旗| 行唐县| 东兴市| 隆林| 策勒县| 株洲市| 思茅市| 甘谷县| 葵青区| 磴口县| 霞浦县| 云安县|