一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 詳解CocosCreator中幾種計時器的使用方法

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

2022-03-05 20:41gamedaybyday js教程

這篇文章主要介紹了CocosCreator中幾種計時器的使用方法,推薦使用schedule,功能多些,銷毀時還能自動移除

一、setTimeOut

3秒后打印abc。只執行一次。

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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
    }
}

使用箭頭函數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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,重復執行,每秒都會輸出一個abc。

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

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

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

三、Schedule

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

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

延遲3秒后,輸出abc,此后每隔1秒輸出abc,重復5次。所以最終會輸出5+1次abc?!?/p>

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
private count = 1;
 
start() {
     
    this.schedule(this.test,1,5,3);
 
    this.unschedule(this.test);
}
 
private test(){
    console.log(this.count);
}

全局的schedule

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
start() {
    let scheduler:cc.Scheduler = cc.director.getScheduler();
    scheduler.enableForTarget(this);
    //延遲3秒后,輸出1,此后每1秒輸出1,重復3次。一共輸出1+3次
    scheduler.schedule(this.test1, this, 1, 3,3, false);
    //延遲3秒后,輸出1,此后每1秒輸出1,無限重復
    scheduler.schedule(this.test2, this, 1, cc.macro.REPEAT_FOREVER,3, false);
}
 
private test1(){
    console.log("test1");
}
 
private test2(){
    console.log("test2");
}
?
1
2
//刪除計時器
scheduler.unschedule(this.test1, this);

以上就是詳解CocosCreator中幾種計時器的使用方法的詳細內容,更多關于CocosCreator計時器的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/gamedaybyday/p/13047328.html

延伸 · 閱讀

精彩推薦
  • js教程微信小程序使用Echarts和分包的完整步驟

    微信小程序使用Echarts和分包的完整步驟

    這篇文章主要給大家介紹了關于微信小程序使用Echarts和分包的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價...

    little_little8342022-02-15
  • js教程JavaScript逐點突破系列之this是什么

    JavaScript逐點突破系列之this是什么

    本章將專門介紹與執行上下文創建階段直接相關的最后一個細節——this是什么?以及它的指向到底是什么,感興趣的朋友跟隨小編一起看看吧...

    蛋黃酥要不要來一口阿7332022-03-03
  • js教程javascript實現固定側邊欄

    javascript實現固定側邊欄

    這篇文章主要為大家詳細介紹了javascript實現固定側邊欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    愛前端的茂茂3662022-01-20
  • js教程JavaScript實現打字游戲

    JavaScript實現打字游戲

    這篇文章主要為大家詳細介紹了JavaScript實現打字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    一顆不甘墜落的流星3972022-01-21
  • js教程基于 Next.js 的 SSR/SSG 方案了解一下?

    基于 Next.js 的 SSR/SSG 方案了解一下?

    服務端渲染(SSR,Server Side Render)與客戶端渲染(CSR,Client Side Render)的核心區分點簡單來說就是完整的 HTML 文檔在服務端還是瀏覽器里組裝完成。...

    DYBOY4872021-12-27
  • js教程聊聊JavaScript 命名約定優秀實踐

    聊聊JavaScript 命名約定優秀實踐

    在開發過程中,遵循標準的命名約定可以提高代碼的可讀性。下面就來看看 JavaScript 中命名約定的最佳實踐。...

    前端充電寶10072022-02-23
  • js教程JavaScript WeakMap使用詳解

    JavaScript WeakMap使用詳解

    這篇文章主要介紹了JavaScript WeakMap使用的詳細介紹,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    MDN7162022-01-17
  • js教程CocosCreator經典入門項目之flappybird

    CocosCreator經典入門項目之flappybird

    這篇文章主要介紹了CocosCreator經典入門項目之flappybird,詳細說明了制作的每個步驟,還有詳盡的代碼,對CocosCreator感興趣的同學,一定要看一下...

    冏尼9682022-03-01
主站蜘蛛池模板: av在线色| 亚洲高清视频在线观看 | 亚洲色图二区 | 男人j放进女人的p视频免费 | 2015台湾永久免费平台 | 亚洲欧美精品久久 | 国产成人精品系列在线观看 | 久久国产精品人妻中文 | 久久视频在线视频观看天天看视频 | 粉嫩尤物在线456 | 大杳蕉在线影院在线播放 | 久久精品国产只有精品 | 我半夜摸妺妺的奶C了她软件 | 四虎影视入口 | 99久久爱热6在线播放 | 韩国美女被的免费视频 | 欧美精品一区二区三区免费 | 手机在线观看精品国产片 | 欧美日韩国产亚洲一区二区 | 亚洲伦理影院 | 久久国产精品高清一区二区三区 | yellow高清免费观看日本 | 乌克兰肛交影视 | 亚洲男人网 | 九九精品国产兔费观看久久 | 青草草在线观看 | 秋霞理论在一l级毛片 | 国产精品久久久久久久福利院 | 国产手机在线αⅴ片无码观看 | 久久久久久久99精品免费观看 | 免费在线观看亚洲 | 亚洲精品福利一区二区在线观看 | 四虎永久网址影院 | 精品手机在线视频 | 美女脱了内裤打开腿让男人图片 | 日本xxx在线观看免费播放 | 性关系免费视频 | 性色生活片在线观看 | 摸逼网 | 2022色婷婷综合久久久 | 欧美精品综合一区二区三区 |