Cocos2d-x具有跨平臺的特性,只需要撰寫一次代碼,就可以無縫地部署在包括iOS、Android、Windows Phone等在內的主流游戲平臺上。在移動終端日趨多樣化的今天,把游戲部署到多種平臺上是游戲開發的大趨勢,Cocos2d-x的跨平臺特性無疑能夠最大限度地減少游戲開發者重復開發的作業,從而大大提高開發者的開發效率。
Cocos2d-x不僅具有跨平臺的特點,它還有眾多的社區支持,而且Cocos2d-x免費開源,簡單易學,非常容易快速上手。現如今,Cocos2d-x已發展為全球占有率第一的手機游戲引擎,全球份額超過30%,中國份額超過70%。
掌握了Cocos2d-x開發技術將帶來更多的就業機會與創業機會,這都值得當下的開發者好好把握。
本期的社區問答( 12月 14 日— 12月 22日)我們請來了《Cocos2d-x 3.x游戲開發實戰》一書的作者肖文吉(ID: xiaowenji613)為大家解答關于Cocos2d-x 3.x游戲開發方面的問題。
嘉賓簡介

肖文吉
肖文吉,從事iOS平臺及Android平臺下的移動應用開發、教學多年,曾主持、參與開發多個大型手機游戲,且是在營用中的商業游戲,《星際戰機》《公主保衛戰》《仙靈環境》等,并與李剛老師合著暢銷書《瘋狂iOS講義(下)》。
問答結束后,肖文吉老師會在所有提問者中抽取三名用戶,贈送《Cocos2d-x 3.x游戲開發實戰》一書。
cocos2d-x 3.x 游戲開發實戰視頻下載
當當購買

--------------------------------------------------------------------------------------------------------
本期問答獲獎用戶:
henuyx
De_Moivre
lx417147512
請獲獎用戶將本人 郵寄地址+姓名+聯系電話 發私信至樓主,我們會盡快為您郵寄禮品。
uj5u.com熱心網友回復:
好!!!!!!!!!uj5u.com熱心網友回復:
學習。。。。。。。。。。。uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
學習了。。。。贊一個uj5u.com熱心網友回復:
我要書!!!!!!uj5u.com熱心網友回復:
老師您好,我在一年前接觸cocos2d游戲開發,那時候用2.x版本完成了一個小游戲作為課程作業,但是現在看cocos開發者似乎已經放棄了2.x這條線的維護,所以現在想轉到3.x這條線上來,繼續開發之前的小游戲,并把代碼也遷移過來,因此我想請教您幾個問題:1. 2.x到3.x的遷移難度怎么樣,在架構上這兩個大版本之間有什么重要的區別?
2. 它們的底層實作是不是有較大的不同,類的封裝方法上又有什么區別?
uj5u.com熱心網友回復:
雖然不知道你們在說些什么,但感覺好厲害的樣子!uj5u.com熱心網友回復:
我想問一下老師,Cocos2d-x 3.x對個人開發者友好嗎?我想用他來做個人的獨立小游戲開發,可行嗎?uj5u.com熱心網友回復:
Cocos2d-x 3.x對個人開發者友好嗎?我想用他來做個人的獨立小游戲開發,可行嗎?Cocos2d-x 3.x對個人開發者當然是非常友好的。用來做個人獨立小游戲的開發是可以的。
uj5u.com熱心網友回復:
3.x和2.x最大的區別在于以下幾點:
1. 使用C++(C++ 11)的特性取代了Objective-C的特性,std::function包含了回呼中使用的lambda物件。去OC化。所有的類前面取消了CC前綴。使用了Ref類代替Object類,之前所有繼承于Object的類現在都改為繼承于Ref。
2. 新的事件機制,所有事件都由 EventDispatcher分發,EventListener進行回應監聽。
3. 物理引擎被集成到了Cocos2d-x中,通過全新的物理物件對Box2D和Chipmunk進行封裝,不用關心底層具體用的是哪個物理引擎,也不用直接呼叫物理引擎的介面,而是直接操作Cocos2d-x的物理物件,大大簡化了物理引擎的使用。
4.3.x采用了Objective-C的參考計數方法來控制物件的回收,并且采取自動釋放池的機制來管理記憶體。不需要擔心記憶體泄露的問題,這大大簡化了游戲開發者對記憶體的管理。
2.x到3.x的遷移難度并不大,3.x引入的C++ 11特性使開發更加簡單,并且自動記憶體管理機制簡化了游戲開發者對記憶體的管理,解決了一個很大的問題。
2.x和3.x的底層實作并沒有特別大的不同,類的封裝方法更加簡單,而且功能更強大。
uj5u.com熱心網友回復:
進來學習一下uj5u.com熱心網友回復:
代碼TollgateScene.cpp里面的 iSpeed 的值加大以后地圖滾動的時候會有黑色的縫隙,這個是什么原因造成的?uj5u.com熱心網友回復:
請問TollgateScene.cpp是第幾章的那個專案里面的檔案?
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
怎么我在所有代碼里面都沒有找到?
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
自己是android開發剛剛接觸cocos2d-x,直接上手的3.9.目前可以拿demo編譯的水平,用的c++;
之前不會c++,覺得可以進行ndk開發,所以棄用lua
這種如何快速的提升cocos2d-xs水平,對c++需要先去深究嗎?
還是說直接上手個專案,走一遍再說,(已經成功編譯出一個小游戲在ios和安卓上)。
想要在2-3個月有一定的水平現實嗎,該如何走?
望解答,,
uj5u.com熱心網友回復:
想要在2-3個月迅速提升cocos2d-x水平,重點可以多做例子,建議多熟悉cocos2d-x的API,常用的類和方法。
常用的類包括:
Node(節點)、Scene(場景)、Layer(層)、Director(導演)、Sprite(精靈)、
Action(動作)、動作常用子類、Animate(影片)、Lable(文本標簽)、Menu(選單)、
事件處理:Touch、EventDispatcher、EventListener
粒子系統:ParticleSystem、ParticleSystemQuad
Tiled地圖:TMXTiledMap、TMXLayer、TMXObjectGroup
物理引擎:PhysicsWorld、PhysicsBody、PhysicsShape
集合:Vector、Map、Value
因為cocos2d-x的API已經將功能封裝的很好了。
建議cocos2d-x熟悉之后再深入研究C++。
uj5u.com熱心網友回復:
如果只看這本書還有那個視頻,要多久可以比較熟練的進行手機端應用的開發uj5u.com熱心網友回復:
《Cocos2d-x 3.x游戲開發實戰》一書重點介紹的是Cocos2d-x的使用,其中包括了很多手機端游戲的例子,
如果有C++基礎,再來看這邊書和視頻,2-3個月可以進行手機端游戲的開發。
如果說熟練,那要看個人對知識的理解、掌握和努力的程度了。
uj5u.com熱心網友回復:
恩,謝謝,我對c c++很熟練的,用了三四年了,我可以把這個cocos列入下一個學習計劃了
不過剛才看了下下載的,貌似沒看到視頻啊,就只有code
uj5u.com熱心網友回復:
Mr.肖,你好。最近在用cocos2d v3.8.1+lua 開發專案,用ui::scrollview控制元件的時候,發現,內容器的節點出了scrollview可視區域,仍然可以接受觸摸事件。
于是想用 ui:widget的 isClippingParentContainsPoint函式來解決,先判斷觸摸點是否在父節點內。
在點擊事件沒問題,但是在處理長按事件,只觸發了touch began,未觸發 touch end的時候,就會判定失敗。(好像是因為遞回查看父節點的時候,某個當前節點的camera為空)
看了下原始碼,但是感覺實力不足,有些繁雜,所以來問一下:
為什么 isClipp... 的函式對長按事件會判斷錯誤?
是否有其他方法來解決 內容器的節點 在scrollview可視區域外可接受觸摸問題?
最后,祝您作業順利,新書大賣~
uj5u.com熱心網友回復:
如果只看這本書還有那個視頻,要多久可以比較熟練的進行手機端應用的開發
《Cocos2d-x 3.x游戲開發實戰》一書重點介紹的是Cocos2d-x的使用,其中包括了很多手機端游戲的例子,
如果有C++基礎,再來看這邊書和視頻,2-3個月可以進行手機端游戲的開發。
如果說熟練,那要看個人對知識的理解、掌握和努力的程度了。
恩,謝謝,我對c c++很熟練的,用了三四年了,我可以把這個cocos列入下一個學習計劃了
不過剛才看了下下載的,貌似沒看到視頻啊,就只有code
光碟里面是沒有視頻的,視頻太大,制作的時候一個光碟裝不下。所以光碟里面只有代碼了。
你可以到瘋狂軟體教育的官方網站去下載Cocos2d-x的相關資料:http://www.fkit.org。
其實如果對C++很熟練的話,建議多花時間去動手做游戲。
瘋狂軟體教育的Cocos2d-x的視頻內容很全面,一共有幾十個,對于老手來說看視頻就太費時間了。
uj5u.com熱心網友回復:
Mr.肖,你好。
最近在用cocos2d v3.8.1+lua 開發專案,用ui::scrollview控制元件的時候,發現,內容器的節點出了scrollview可視區域,仍然可以接受觸摸事件。
于是想用 ui:widget的 isClippingParentContainsPoint函式來解決,先判斷觸摸點是否在父節點內。
在點擊事件沒問題,但是在處理長按事件,只觸發了touch began,未觸發 touch end的時候,就會判定失敗。(好像是因為遞回查看父節點的時候,某個當前節點的camera為空)
看了下原始碼,但是感覺實力不足,有些繁雜,所以來問一下:
為什么 isClipp... 的函式對長按事件會判斷錯誤?
是否有其他方法來解決 內容器的節點 在scrollview可視區域外可接受觸摸問題?
最后,祝您作業順利,新書大賣~
你這個問題說起來有點麻煩,最好發代碼給我看看。
我的郵箱:[email protected]
uj5u.com熱心網友回復:
如果只看這本書還有那個視頻,要多久可以比較熟練的進行手機端應用的開發
《Cocos2d-x 3.x游戲開發實戰》一書重點介紹的是Cocos2d-x的使用,其中包括了很多手機端游戲的例子,
如果有C++基礎,再來看這邊書和視頻,2-3個月可以進行手機端游戲的開發。
如果說熟練,那要看個人對知識的理解、掌握和努力的程度了。
恩,謝謝,我對c c++很熟練的,用了三四年了,我可以把這個cocos列入下一個學習計劃了
不過剛才看了下下載的,貌似沒看到視頻啊,就只有code
光碟里面是沒有視頻的,視頻太大,制作的時候一個光碟裝不下。所以光碟里面只有代碼了。
你可以到瘋狂軟體教育的官方網站去下載Cocos2d-x的相關資料:http://www.fkit.org。
其實如果對C++很熟練的話,建議多花時間去動手做游戲。
瘋狂軟體教育的Cocos2d-x的視頻內容很全面,一共有幾十個,對于老手來說看視頻就太費時間了。
好的,謝謝,我看了那個網址,貌似沒什么下載資料的通道,都是報名的培訓班...
uj5u.com熱心網友回復:
老師你好 ,我之前是做java的,現在在自學swift語言,想要問下,cocos2d-x和swift的關系,之前沒有關注過mac/ios方面的語言,所有想請教下。
我swift入門后,再學習cocos2d會更快嗎?
uj5u.com熱心網友回復:
老師你好 ,我之前是做java的,現在在自學swift語言,想要問下,cocos2d-x和swift的關系,
之前沒有關注過mac/ios方面的語言,所有想請教下。
我swift入門后,再學習cocos2d會更快嗎?
Cocos2d-x是C++的,和swift關系不大。
如果先有C++基礎,學習Cocos2d-x會快些。
uj5u.com熱心網友回復:
老師你好 ,我之前是做java的,現在在自學swift語言,想要問下,cocos2d-x和swift的關系,
之前沒有關注過mac/ios方面的語言,所有想請教下。
我swift入門后,再學習cocos2d會更快嗎?
Cocos2d-x是C++的,和swift關系不大。
如果先有C++基礎,學習Cocos2d-x會快些。
那就是說Cocos2d-x和object-c也沒有太大關系了。
uj5u.com熱心網友回復:
老師你好 ,我之前是做java的,現在在自學swift語言,想要問下,cocos2d-x和swift的關系,
之前沒有關注過mac/ios方面的語言,所有想請教下。
我swift入門后,再學習cocos2d會更快嗎?
Cocos2d-x是C++的,和swift關系不大。
如果先有C++基礎,學習Cocos2d-x會快些。
那就是說Cocos2d-x和object-c也沒有太大關系了。
Cocos2d-x是C++語法,object-c也是來源自C語言呀。
Cocos2d-x最新的記憶體管理就是采用了object-c的。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我想問一下老師,Cocos2d-x 3.x對個人開發者友好嗎?我想用他來做個人的獨立小游戲開發,可行嗎?
如果只看這本書還有那個視頻,要多久可以比較熟練的進行手機端應用的開發
直接玩游戲、殺入原始碼,有效+1.
業余菜鳥開發:多人技能格斗
http://download.csdn.net/detail/u011526858/9434765
uj5u.com熱心網友回復:
我想問一下老師,Cocos2d-x 3.x對個人開發者友好嗎?我想用他來做個人的獨立小游戲開發,可行嗎?
如果只看這本書還有那個視頻,要多久可以比較熟練的進行手機端應用的開發
直接玩游戲、殺入原始碼,有效+1.
業余菜鳥開發:多人技能格斗
http://download.csdn.net/detail/u011526858/9434765
Thank you
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我也想要書!!uj5u.com熱心網友回復:
先回復再看!uj5u.com熱心網友回復:
剛在學的新手問一個很菜的問題:1 用cocos2dx開發android平臺的游戲,大家的主流開發流程是怎樣的?
因為我之前從事C++開發多年,主要用VC,那結合我的情況,能不能在VC2010以上版本的開發工具上完成整個游戲的全部開發,最后只要用python+NDK轉成安卓平臺就行了么??謝謝各位
uj5u.com熱心網友回復:
希望樓主分享一下經驗啊。uj5u.com熱心網友回復:
你好,請問如何用cocos2d-x +FFmpeg實作流媒體視頻的播放轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/72621.html
標籤:Cocos2d-x
上一篇:cocostudio的一個問題
