cocos2dx JS 層(Layer)的生命周期


場景的生命周期:
一般情況下一個場景只需要一個層,需要創建自己的層類。一些主要的游戲邏輯代碼都是寫在層中的,場景的生命周期是通過層的生命周期反映出來的,通過重寫層的生命周期函數,可以處理場景不同聲明周期階段的事件。
生命周期函數
(1)ctor構造函數。初始化層的時候調用
 
(2)onEnter() 進入層時調用  //一般情況下在進入層的這個函數里做一些初始化處理。
 
(3)onEnterTransitionDidFinish()進入層而且過渡動畫結束時調用
 
(4)onExit()退出層時調用   //一般情況下在推出層的這個函數釋放一些資源,
 
(5)onExitTransitionDidStart()退出層且開始過渡動畫時調用
 
層繼承於節點,這些生命周期函數根本上是從Node繼承而來。事實上所有Node對象都有這些函數,只要是繼承這些類都可以重寫這些函數,來處理這些對象的不同聲明周期階段事件。

 例子:

 1 //初始化構造函數
 2 var HelloWorldLayer = cc.Layer.extend({
 3     ctor:function(){
 4         this._super();
 5         cc.log("HelloWorldLayer init");
 6      
 7     },
 8 
 9 //即將進入層時調用
10     onEnter : function () {
11         this._super();
12         cc.log("HelloWorldLayer onEnter");
13         
14     },
15 
16 //已經進入層時調用
17     onEnterTransitionDidFinish : function () {
18         this._super();
19         cc.log("HelloWorldLayer onEnterTransitionDidFinish");
20         
21     },
22 
23 //即將退出層時調用
24     onExit : function () {
25         this._super();
26         cc.log("HelloWorldLayer onExit");
27         
28     },
29 
30 //已經退出層時調用
31     onExitTransitionDidFinish : function () {
32         this._super();
33         cc.log("HelloWorldLayer onExitTransitionDidFinish");
34         
35     }
36 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM