關於Cocos2d x中兩個場景之間引數的傳遞

2021-09-07 09:39:58 字數 1187 閱讀 6767

兩個場景之間,有的時候要進行引數傳遞,如果想通過例項化出乙個場景,從而得到屬性和方法是不對的想法

你有兩個場景,第一場景是使用者登入介面,第二場景則是你登入後的介面,你如何將使用者登入的值傳到第二個場景呢

兩種方法(有兩個場景 helloworld, lotteryscene)

2)在helloworld轉到lotteryscene時,呼叫一下一下方法,一定要記得把要傳遞的變數的型別設定為public

auto scene =scene::create();

lotteryscene *layer =lotteryscene::create();

layer->map2 =map1;

scene->addchild(layer);//

類似firstscene中的scene()方法

director::getinstance()->replacescene(transitionfade::create(1, scene));

老版本的轉換,還沒有轉換為新版本,firstscene轉到secondscene的引數傳遞

二:1)在secondscene.h中新增乙個靜態引數:static int scenenum;

在secondscene.cpp中的方法外面寫乙個全域性變數

int tableviewlayer::scenenum = 0;

2)在firstscene.h中類外寫 class secondscene;並在屬性中寫secondscene* secondlayer;

3)在firstscene.cpp轉到第二場景方法寫

secondscene->scenenum = 1;

ccscene* scene = secondscene::scene();//一定要secondscene->scenenum = 1放在第一行,因為此時init中scenenum的值為1,否則則為0;

ccdirector::shareddirector()->replacescene(cctransitionfade::create(1.5f,scene));

4)   然後就像上面說的,試試看scenenum為多少。

三.如果只是使用另乙個場景的一些

enum nodetag

;則可以在另乙個場景檔案或者是例項類檔案中

1.先引入含有enum定義的場景檔案的.h

2.在有用到的地方寫

cocos2dx中關於場景的管理

runwithscene ccscene scene 啟動遊戲,並執行scene 場景。這個方法在主程式啟動時第一次啟動主場景時呼叫。replacescene ccscene scene 直接使用傳入的scene 替換當前場景來切換畫面,當前場景將被釋放。這是切換場景時 最常用的方法。pushsce...

cocos2dx 兩個場景切換各函式呼叫順序

呼叫順序如下 aaabababa a 建構函式 a onenter a onentertransitiondidfinish b 建構函式 a onexittransitiondidstart b onenter a onexit b onentertransitiondidfinish a 析構函...

cocos2dx 兩個場景切換各函式呼叫順序

場景a切換到場景b,有切換特效 呼叫順序例如以下 aaabababa a 建構函式 a onenter a onentertransitiondidfinish b 建構函式 a onexittransitiondidstart b onenter a onexit b onentertransit...