歡迎轉載:http://blog.csdn.net/fylz1125/article/details/8487390
學cocos2d-x一段時間了,感覺沒什麼條理。沒有項目做,學起來感覺效果不好。看了源碼的一些代碼,研究了test的代碼,也找了一些文章來看,但總感覺還是差點什麼。
個人認為學東西還是做做項目比較有感覺。比如cocos2d-x,看的再多,研究的再多,老是寫寫demo不動手做項目,心裡總是不踏實。而且很多問題,不做項目的話就沒有具體問題,沒有具體的解決方案,就不會對問題理解深刻。cocos2d-x這個東西本身是c++的,儘管Team Dev為了降低學習難度和入門門檻做了很多工作,但是如果c++功底不夠,我覺得也學不到什麼東西,充其量學會了使用一個工具而已。知道怎麼做,不知道為什麼這樣做。這樣如果碰到本質問題,比如引擎自己的問題,就沒辦法解了。我學習一個東西,有個不好的習慣,就是喜歡追根索源。碰到不懂的東西喜歡找到問題的源頭,為什麼要這樣?不這樣行不行?作者想幹嘛?意圖是什嗎?嘿嘿,這樣有時候很痛苦,特別是在新東西還不熟,經驗不足的時候,往往一個問題能牽扯出一堆問題來,而且很多問題自己還不懂,這就需要學很多相關東西了。這個過程很耗時間。比如前段時間看cocos2d-x的動作系統Actions。看demo都是那麼在用,建立一個Action,建立動作執行速率,比如由快至慢CCEaseSineOut,執行一個動作等。如果看test的demo,然後學會它的用法也無可厚非,但我總覺得心裡好像少點什麼。老有一些疑問,一個動作是如何驅動的?動作執行的速率又是如何起作用的?執行過程是怎麼樣的?這些東西我一無所知,感覺使用起來就是完全的記API了。後來看到Bugs
Bunny的博文,很震驚(cocos2dx動作淺析)。他通過程式碼分析,講解了整個動作系統的驅動過程,而且用GeoGebra作圖,分析了CCEasexxx的數學模型,並且指出了其中的幾處數學公式的bug。我發現後續版本也修正了這些bug,而且正是如文中所述那樣。作者深厚的數學功底和其精闢的講解令我十分佩服。非常感謝作者的無私奉獻。看了他的博文,我對cocos2d-x的動作系統有了清晰的認識。同時我也很感慨,一個優秀的程式員,數學是何等重要啊。推薦大家去看一看。
關於語言的學習。我覺得,c/c++還是值得學習的。雖然這個比較難,但是自有其價值所在。誰學誰知道,嘿嘿?
某一天,發現了cocos2d-html5的戰神傳說,地址。玩了一會,還很帶感,嘿嘿。感謝開發組提供如此好玩的東西,希望再接再厲。
代碼下下來看了一下,感覺還是比較好懂的。決定把這個用cocos2d-x重寫一下,通過重寫這個小遊戲來學習cocos2d-x,感覺很不錯。
後面是實現MoonWarriors的一些文章和代碼。
開發環境:mac+xcode,cocos2d-x-2.1.0beta版,webstorm(查看js代碼用)。