cocos2d x 原始碼剖析(1)

2021-06-20 21:28:08 字數 758 閱讀 9978

原文出處:

我認為在看這些文章的時候,最好有一些cocos2d-x的經驗。起碼能新建乙個cocos2d-x的hello world工程。而且這些文章並不是用來入門和教你如何使用cocos2d-x的,我的目標是看完這些文章之後,寫乙個完整的2d引擎將沒有問題。而且能夠為cocos2d-x查漏補缺,看看那些是不必要重複製造的輪子,那些是需要增加或者改進的。

首先從hello world開始,在cocos2d/samples/cpp/hellocpp/proj.ios下面有乙個xcode的工程檔案。這個就是cocos2d-x的hello world。先看看他的main檔案,要明確一點的是,所有標準的c和c++程式的入口都是main函式,這個是語言級別的入口。不同平台的main函式可能不一樣,但是都是從main函式進入的。ios版本如下:

int main(int argc, char *argv)

didfinishlaunchingwithoptions:(nsdictionary*)launchoptions

cocos2d::ccdirector::shareddirector()->pause();}

cocos2d::ccdirector::shareddirector()->resume();}

} }

} #pragma mark -

#pragma mark memory management }

遠在遊戲尚未開始,c++初始化靜態域時,這個例項便存在了。所以這個邏輯是這樣的:

cocos2d x 原始碼剖析(2)

上次講到cocos2d x的main loop是下面這句 我們來看看這個函式的內部實現 return0 看看,我沒有欺騙大家吧。這個函式在設計的時候想要參照main函式返回乙個int值來表示執行結果,但是你知道的外部呼叫中完全沒有進行處理,略坑爹。來深入這個函式的內部 void startmainl...

cocos2d x 原始碼剖析(8)

寫到第7節的時候,突然覺得cocos2d x還沒有我想的那麼大啊,或許在50節以內就要了結了。這節繼續看看ccnode這個節點,主要部分是action。雖然ccnode有不少的action相關的函式,起作用的實際上是actionmanager。這節雖說是從ccnode開始,但是真正的內容在actio...

cocos2d x 原始碼剖析(17)

draws a texture at a given point void drawatpoint const ccpoint point draws a texture inside a rect void drawinrect const ccrect rect 這節之所以單獨來講,是因為這是整...