兩個場景之間,有的時候要進行引數傳遞,如果想通過例項化出乙個場景,從而得到屬性和方法是不對的想法
你有兩個場景,第一場景是使用者登入介面,第二場景則是你登入後的介面,你如何將使用者登入的值傳到第二個場景呢
兩種方法(有兩個場景 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...