好久沒有更新Cocos2d-html5的博文了,這兩個月忙著一些比賽,所以就耽誤了,嘿嘿,不過關於這個專欄還是有很多章節要寫,所以還是慢慢來更新吧。
Schedule,從翻譯的角度上來說就是”時間表“,差不多就是一個定時規劃,在cocos2d裡面使用的情境一般就是比如你想讓一個精靈間隔多少次執行什麼動畫,或者一個情境想延遲多久進行跳轉,ok,那麼就應該使用這個來實現。下面簡單說一下這個用法,因為這個函數是間隔執行的,所以不好展示畫面,所以我就用代碼和文字來說明一下。
1. schedule(callback_fn, interval, repeat, delay)
裡面四個參數對應的含義是:
callback_fn:調用的方法名
interval:間隔多久再進行調用
scheduleOnce(callback_fn, delay)
該函數只調用一次callback_fn的方法
3. scheduleUpdate()
該函數會每一幀都調用,調用的方法名為"update"
註:1.這裡涉及到的時間單位都是”秒“!
2.調用的方法,記得一定要有個float型別參數,說白了,就是添加個參數,javascript參數類型都是自動識別的。
var Helloworld = cc.Layer.extend({ init:function () { this._super(); var size = cc.Director.getInstance().getWinSize(); this.schedule(this.timeCallback,2,2,1); this.scheduleOnce(this.timeCallback,2); this.scheduleUpdate(); return true; }, timeCallback:function(dt) { }, update:function(dt){ },});
schedule(callback_fn, interval, repeat, delay)這個函數,其實並不需要每次都要把四個參數都帶上的,它是有重載的。
schedule(callback_fn) 每幀都調用一次,調用無數次,馬上調用
schedule(callback_fn, interval) 間隔interval調用一次,調用無數次,馬上調用
unschedule(callback_fn) 停止指定的定時器方法
unscheduleAllCallbacks() 停止所有的定時器
unscheduleUpdate() 停止update方法
關於定時器內容差不多就這些了,我用處最大的感觸就是比如遊戲開始前有個321倒計時,這裡就可以使用,或者logo顯示一定時間跳轉我們的主菜單介面,這些地方都可以使用定時器的。