Cocos2d X遊戲開發之單例設計模式

2021-06-15 04:48:11 字數 627 閱讀 6750

cocos2d—x遊戲開發中需要大量使用到單例,單例是在整個程式執行期間都例項化一次,並且其作用域是全域性的的物件。相當與c++中的全域性靜態變數。如果在程式執行期間需要大量使用到某個資料,那麼單例無疑是最好的選擇,

c++中,若類的方法前加了static關鍵字,則該方法稱為靜態方法,反之為例項方法。靜態方法為類所有,可以通過物件來使用,也可以通過類來使用。但一般提倡通過類名來使用,因為靜態方法只要定義了類,不必建立類的例項就可使用。靜態方法只能用類的靜態成員。

現在來看下,我們經常使用到的單例,

ccdirector

::shareddirector

//在.cpp檔案裡面定義並初始化靜態物件為null

static  

ccdisplaylinkdirector *s_shareddirector = null;

ccdirector* ccdirector::shareddirector(void)

return

s_shareddirector; }

這樣,就可以在程式的的整個生命週期之中,始終存在並且只有乙個ccdirector的例項,又叫物件。從記憶體上面分析,大量使用某個類,不用建立多個物件;從生命週期上面分析,在程式執行期間,都可以使用。這就是單例的優勢所在。

cocos2d x遊戲開發之動畫

mygame.h中宣告動畫函式 class mygame public cocos2d layer bool mygame init return true 注意 若按鈕事件中包含切換場景事件,則需要在按鈕事件中新增schedule函式,否則切換場景後,動畫還來不及生成,再次點選按鈕出發按鈕事件,則...

Cocos2d X遊戲開發 二

cocos2d x 遊戲開發 程式啟動執行流程 系統設定 視窗解析度 設定模擬器窗體大小 glview setframesize 360,640 設計解析度 可視區域 中也有個設定設計解析度的函式。該函式是設定了我們遊戲設計時候的解析度,也就是可視區域的大小,也就是說設計者初衷的遊戲可視區域的解析度...

Cocos2d x中單例的使用

大家都知道乙個程式中只有乙個導演類,eg 1 ccdirector pdirectory ccdirector shareddirector 初始化導演類。可通過 pdirectory 屬性 取得自己想要的值。我們也可以自己設定乙個類用於儲存只初始化一次的量,剛開始學2dx,今天為了2個cclaye...