cocox2d-x HelloWorld分析

cocos2d版本:cocos2d-2.1rc0-x-2.1.3
編譯環境:vs2010(XP系統)


1.首先看到main.cpp中AppDelegate app;
這是一個變量的定義,而且它的類型是一個類,不是基本類型,所以它會調用該類的構造函數,而且應該是默認構造函數,跳到AppDelegate類的構造函數實現中,發現函數體是空的,但是AppDelegate類是繼承自CCApplication類的,所以在AppDelegate的構造函數裏隱式調用了基類CCApplication類的構造函數,該構造函數中初始化了CCApplication類中的一個CCApplication類型的靜態變量(單例模式)


2.然後就是eglView->setFrameSize(480, 320);設置了窗口的大小;

3.int ret = CCApplication::sharedApplication()->run();這句話跳到了前面定義的app對象裏的run函數中(run繼承自CCApplication類),

4.然後在run裏又調用了applicationDidFinishLaunching函數,這是一個虛函數,並且AppDelegate類重新實現了它,所以調用了AppDelegate裏的applicationDidFinishLaunching函數


5.applicationDidFinishLaunching函數裏面導演類(CCDirector)做了一些準備工作,然後HelloWorld類產生一個場景,並且用導演類運行了這個場景。


6.然後返回到了CCApplication類中的run函數中,然後就進入消息循環了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章