Cocos2d x中單例的使用

2022-05-10 08:26:42 字數 1456 閱讀 2737

大家都知道乙個程式中只有乙個導演類,eg:

1 ccdirector *pdirectory = ccdirector::shareddirector();//

初始化導演類。

可通過 pdirectory->屬性 取得自己想要的值。

我們也可以自己設定乙個類用於儲存只初始化一次的量,剛開始學2dx,今天為了2個cclayer之間傳值而使用單例,設定a介面的幾個引數值,當a場景切換跳轉到b介面時,b需要用到a介面的這幾個引數值,故單獨寫了個單例類用於儲存資料引數。

.h:

#ifndef __resultcar__gamedata__

#define __resultcar__gamedata__#include

#include

"cocos2d.h

"class gamedata : public

cocos2d::ccobject ;

.m:

#include "

gamedata.h

"gamedata *gamedata =null;

gamedata*gamedata::sharedgamedata()

float

gamedata::getmyengine()

void gamedata::setmyengine(float

engine)

float

gamedata::getmyg()

void gamedata::setmyg(floatg)

float

gamedata::getmyfrition()

void gamedata::setmyfrition(float

frition)

當我儲存資料的時候可通過以下**儲存:

gamedata::sharedgamedata()->setmyengine(myengine); //

myengine是a介面的引數

這裡設定了3個引數分別儲存:

gamedata::sharedgamedata()->setmyg(myi);

gamedata::sharedgamedata()->setmyfrition(myfriction);

當我在b介面用到這幾個引數的時候可通過如下**來獲得:

//

car_myengine car_myi car_myfrition 為b介面用於接收資料的屬性值

car_myengine = gamedata::sharedgamedata()->getmyengine();

car_myi = gamedata::sharedgamedata()->getmyg();

car_myfrition = gamedata::sharedgamedata()->getmyfrition();

cocos2d x中精靈的使用

精靈是2d遊戲中得主角,這次就總結一下cocos2d x中精靈的使用。一,載入 首先,建立乙個變數 ccsprite psprite 載入函式分為兩組initwith x和spritewith x,其主要的區別是使用initwith x的手工作業,而spritewith x是純自動化作業。在spri...

cocos2d x 中的使用CURL

cocos2d x中將curl做為第三方庫加入進來,它被放在cocos2dx platform third party 使用curl,需要包含它的標頭檔案,我當前使用的cocos2d x的版本為2.2.3,我們可以看到建立好工程後,專案的include 路徑列表如下 從上圖中,我們可以看出,這個版本...

Cocos2d x中luajit的使用

新版本的cocos2d x使用了luajit來替代原始的lua,好處一是可以極大的提高執行速度 android下可以開jit,執行速度提高10 60倍,ios下不可以開jit,執行速度也可以提高2 3倍 二是luajit編譯的位元組碼現階段來說無法反編譯,也就是說無法破解。這裡對luajit進行詳細...