在多個場景切換時候,場景的生命週期會更加複雜。這一節我們介紹一下場景切換生命週期。
多個場景切換時候分為幾種情況:
情況1,使用pushscene函式從實現helloworld場景進入setting場景。
情況2,使用replacescene函式實現從helloworld場景進入setting場景。
情況3,使用popscene函式從實現setting場景回到helloworld場景。
我們參考helloworld重寫setting層的中幾個生命週期函式,**如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
bool
setting::init()
log
(
"settinginit"
);
......
returntrue;
}
void
setting::onenter()
void
setting::onentertransitiondidfinish()
void
setting::onexit()
void
setting::onexittransitiondidstart()
void
setting::cleanup()
情況1時候,它的呼叫順序如下圖所示。
情況2時候,它的呼叫順序如下圖所示,從圖中可見與上面不同是多出helloworld中cleanup函式,這也說明replacescene函式會釋放場景物件。
情況3時候,它的呼叫順序如下圖所示,從圖中可見popscene函式時候呼叫setting中cleanup函式,這說明popscene函式會釋放setting場景物件,當回到helloworld場景時候並不會呼叫init()函式,而是呼叫onenter函式。
Cocos2d x之場景切換
在很多rpg遊戲中大部分存在多個場景,如開始的歡迎介面 選單介面 戰鬥介面 場景切換只需要呼叫ccdirector shareddirector replacescene s s為新的場景,這句 的是含意,是用新的場景s去替換掉舊的場景,但是這樣的場景替換,來得太突然,給使用者的感覺不太好,我們需要...
cocos2dx切換場景
分享一下cocos2dx切換場景函式 場景a切換到場景b,有切換特效 呼叫順序如下 aaabababa a 建構函式 a onenter a onentertransitiondidfinish b 建構函式 a onexittransitiondidstart b onenter a onexit...
Cocos2d x中場景切換
ccscene場景切換 場景的切換效果 1 執行場景 1 ccscene pscene helloworld scene 2 pdirector runwithscene pscene 2 替換場景 1 ccscene pscene scenetestscene scene 2 ccdirector...