Cocos2d x多場景切換生命週期

2021-06-29 16:37:14 字數 1991 閱讀 9267

在多個場景切換時候,場景的生命週期會更加複雜。這一節我們介紹一下場景切換生命週期。

多個場景切換時候分為幾種情況:

情況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

boolsetting::init()

log("settinginit");

......

returntrue;

}

voidsetting::onenter()

voidsetting::onentertransitiondidfinish()

voidsetting::onexit()

voidsetting::onexittransitiondidstart()

voidsetting::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...