亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解CocosCreator中幾種計時器的使用方法

 更新時間:2021年04月16日 15:26:11   作者:gamedaybyday  
這篇文章主要介紹了CocosCreator中幾種計時器的使用方法,推薦使用schedule,功能多些,銷毀時還能自動移除

一、setTimeOut

3秒后打印abc。只執(zhí)行一次。

setTimeout(()=>{console.log("abc"); }, 3000);

刪除計時器,3秒后不會輸出abc。

let timeIndex;
timeIndex = setTimeout(()=>{console.log("abc"); }, 3000);
clearTimeout(timeIndex);

setTimeout這樣寫,test函數(shù)中輸出的this是Window對象

@ccclass
export default class Helloworld extends cc.Component {
 
    private a = 1;
 
    start() {
        setTimeout(this.test, 3000);
    }
 
    private test(){
        console.log(this.a);  //輸出undefined
        console.log(this);    //Window
    }
}

使用箭頭函數(shù)

@ccclass
export default class Helloworld extends cc.Component {
 
    private a = 1;
 
    start() {
        setTimeout(()=>{this.test()}, 3000);
    }
 
    private test(){
        console.log(this.a);  //輸出1
        console.log(this);    //Helloworld
    }
}

二、setInterval

1秒后輸出abc,重復(fù)執(zhí)行,每秒都會輸出一個abc。

setInterval(()=>{console.log("abc"); }, 1000);

刪除計時器,不會再輸出abc。

let timeIndex;
timeIndex = setInterval(()=>{console.log("abc"); }, 1000);
clearInterval(timeIndex);

三、Schedule

每個繼承cc.Component的都自帶了這個計時器

schedule(callback: Function, interval?: number, repeat?: number, delay?: number): void;

延遲3秒后,輸出abc,此后每隔1秒輸出abc,重復(fù)5次。所以最終會輸出5+1次abc。 

this.schedule(()=>{console.log("abc")},1,5,3);

刪除schedule(若要刪除,則不能再使用匿名函數(shù)了,得能訪問到要刪除的函數(shù))

private count = 1;
 
start() {
     
    this.schedule(this.test,1,5,3);
 
    this.unschedule(this.test);
}
 
private test(){
    console.log(this.count);
}

全局的schedule

相當(dāng)于一個全局的計時器吧,在cc.director上。注意必須調(diào)用enableForTarget()來注冊id,不然會報錯。

start() {
    let scheduler:cc.Scheduler = cc.director.getScheduler();
    scheduler.enableForTarget(this);
    //延遲3秒后,輸出1,此后每1秒輸出1,重復(fù)3次。一共輸出1+3次
    scheduler.schedule(this.test1, this, 1, 3,3, false);
    //延遲3秒后,輸出1,此后每1秒輸出1,無限重復(fù)
    scheduler.schedule(this.test2, this, 1, cc.macro.REPEAT_FOREVER,3, false);
}
 
private test1(){
    console.log("test1");
}
 
private test2(){
    console.log("test2");
}
//刪除計時器
scheduler.unschedule(this.test1, this);

以上就是詳解CocosCreator中幾種計時器的使用方法的詳細(xì)內(nèi)容,更多關(guān)于CocosCreator計時器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解bootstrap-fileinput文件上傳控件的親身實踐

    詳解bootstrap-fileinput文件上傳控件的親身實踐

    這篇文章主要介紹了詳解bootstrap-fileinput文件上傳控件的親身實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • JavaScript模板引擎用法實例

    JavaScript模板引擎用法實例

    這篇文章主要介紹了JavaScript模板引擎用法,涉及javascript實現(xiàn)模板的定義與字符替換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • javascript 原型與原型鏈的理解及實例分析

    javascript 原型與原型鏈的理解及實例分析

    這篇文章主要介紹了javascript 原型與原型鏈的理解,結(jié)合實例形式分析了javascript 原型與原型鏈的原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11
  • js 實現(xiàn)在2d平面上畫8的方法

    js 實現(xiàn)在2d平面上畫8的方法

    今天小編就為大家分享一篇js 實現(xiàn)在2d平面上畫8的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 一文教你徹底學(xué)會JavaScript手寫防抖節(jié)流

    一文教你徹底學(xué)會JavaScript手寫防抖節(jié)流

    其實防抖和節(jié)流不僅僅在面試中會讓大家手寫,在實際項目中也可以起到性能優(yōu)化的作用,所以還是很有必要掌握的。本文就帶大家徹底學(xué)會JavaScript手寫防抖節(jié)流,需要的可以參考一下
    2022-11-11
  • 解析使用JS 清空File控件的路徑值

    解析使用JS 清空File控件的路徑值

    本篇文章是對使用JS清空File控件的路徑值的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • IE6/7/8中Option元素未設(shè)value時Select將獲取空字符串

    IE6/7/8中Option元素未設(shè)value時Select將獲取空字符串

    可以看到當(dāng)忘記寫option的value時這些現(xiàn)代瀏覽器都會盡量返回正確的(客戶端程序員想要的)結(jié)果value,其容錯性比IE6/7/8做的更好。
    2011-04-04
  • JS取文本框中最小值的簡單實例

    JS取文本框中最小值的簡單實例

    這篇文章主要介紹了JS取文本框中最小值的簡單實例,有需要的朋友可以參考一下
    2013-11-11
  • Echarts中l(wèi)egend屬性使用的方法詳解

    Echarts中l(wèi)egend屬性使用的方法詳解

    Echarts可以幫助我們快速構(gòu)建柱狀圖、餅圖、條形圖,這對于多圖形化展示數(shù)據(jù)來說尤其方便,可幫助我們快速開發(fā),下面這篇文章主要給大家介紹了關(guān)于Echarts中l(wèi)egend屬性使用的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • JS中跳出循環(huán)的示例代碼

    JS中跳出循環(huán)的示例代碼

    for循環(huán)中我們使用continue;終止本次循環(huán)計入下一個循環(huán),使用break終止整個循環(huán)。下面小編通過本文給大家分享JS中跳出循環(huán)的示例代碼,需要的朋友參考下吧
    2017-09-09

最新評論