iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >详解CocosCreator中几种计时器的使用方法
  • 397
分享到

详解CocosCreator中几种计时器的使用方法

2024-04-02 19:04:59 397人浏览 泡泡鱼
摘要

一、setTimeOut 3秒后打印abc。只执行一次。 setTimeout(()=>{console.log("abc"); }, 3000); 删除计时器,3秒后不

一、setTimeOut

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


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

删除计时器,3秒后不会输出abc。


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

setTimeout这样写,test函数中输出的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
    }
}

使用箭头函数


@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。


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,重复5次。所以最终会输出5+1次abc。 


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

删除schedule(若要删除,则不能再使用匿名函数了,得能访问到要删除的函数)


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,不然会报错。


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");
}

//删除计时器
scheduler.unschedule(this.test1, this);

以上就是详解CocosCreator中几种计时器的使用方法的详细内容,更多关于CocosCreator计时器的资料请关注编程网其它相关文章!

--结束END--

本文标题: 详解CocosCreator中几种计时器的使用方法

本文链接: https://www.lsjlt.com/news/123820.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解CocosCreator中几种计时器的使用方法
    一、setTimeOut 3秒后打印abc。只执行一次。 setTimeout(()=>{console.log("abc"); }, 3000); 删除计时器,3秒后不...
    99+
    2024-04-02
  • Qt计时器使用方法详解
    本文实例为大家分享了Qt计时器的使用方法,供大家参考,具体内容如下 计时器 在我们的日常设计程序中,经常需要固定时间段来刷新界面或者处理一些事务,这个时候计时器就很重要。 比如说在用...
    99+
    2022-11-13
    Qt 计时器
  • 几种Python执行时间的计算方法
    https://blog.csdn.net/wangshuang1631/article/details/54286551 ...
    99+
    2023-01-31
    执行时间 几种 计算方法
  • C#中多种高效定时器方法的使用详解
    目录使用 System.Threading.Timer 和 ManualResetEventSlim使用 Stopwatch 和 Sleep 方法使用 Task.Delay 和 as...
    99+
    2023-05-14
    C# 定时器
  • Java 中分形图的几种方法详解
    Java分形Java的分形主要有一下几种:类似Clifford的分形。这种分形的特点是:分形的初始坐标为(0,0),通过初始坐标经过大量的迭代,得到一系列的点,根据得到的点来绘制分形曲线。这类分形的参数有限,可以很简单的实现。类似IFS f...
    99+
    2023-05-31
    java 分形 ava
  • Java中synchronized的几种使用方法
    目录用法简介1、修饰普通方法2、修饰静态方法修饰普通方法 VS 修饰静态方法3、修饰代码块this VS class总结前言: 在 Java 语言中,保证线程安全性的主要手段是加锁,...
    99+
    2024-04-02
  • C#中三种Timer计时器的详细用法
    一、基于 Windows 的标准计时器(System.Windows.Forms.Timer) 首先注意一点就是:Windows 计时器是为单线程环境设计的。它直接继承自Compon...
    99+
    2024-04-02
  • Python Requests使用Cookie的几种方式详解
    目录前言一、通过headers参数使用二、通过cookies参数使用三、通过Session会话使用方式0:自动设置方式1:通过key设置方式2:通过set 方法设置方式3:通过 ad...
    99+
    2023-08-08
    python requests cookie python cookie
  • Android AlertDialog的几种用法详解
    AlertDialog的几种用法 xml代码: <?xml version="1.0" encoding="utf-8"?> <LinearLa...
    99+
    2024-04-02
  • vue中i18n的安装与几种使用方式详解
    目录vue中i18n安装项目中的使用使用方式 组件里使用使用方式js总结介绍 Vue I18n 是 Vue.js 的国际化插件。它可以轻松地将一些本地化功能集成到你的 Vue.js ...
    99+
    2024-04-02
  • python 统计代码耗时的几种方法分享
    目录时间戳相减 装饰器 timeit模块 重复调用 timeit()cProfile性能分析工具 时间戳相减 在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时。 获取时...
    99+
    2024-04-02
  • Python中数组的几种使用方法
    二维数组的初始化 matirx_done = [[0 for i in range(0, len(matirx))]for j in range(0, len(matirx[0]))] 就将其初始化为一个与matrix相同大小...
    99+
    2023-01-31
    几种 数组 使用方法
  • JAVA中的for循环几种使用方法讲解
    目录一般写法1.遍历数组的传统方式2.遍历Collection对象的传统方式第二种写法3.遍历数组的简单方式4.遍历Collection的简单方式防止在循环体里修改循环变量5.禁止重...
    99+
    2024-04-02
  • Thinkphp中import的使用方法有几种
    小编给大家分享一下Thinkphp中import的使用方法有几种,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、使用方法一import('@.Test....
    99+
    2023-06-22
  • mybatis中几种typeHandler的定义使用详解
    1.存储到数据库, 将LONG数组转换成字符串;从数据库获取数据, 将字符串转为LONG数组 package com.winturn.utils.handler; import...
    99+
    2024-04-02
  • 详解Android UI更新的几种方法
    前言在android开发中,界面UI的更新都是在主线程来完成的。线程分为主线程(Main Thread,简称MT)和工作线程(Work Thread,简称WT),我们通常会在WT中执行一些比较耗时的操作,比如下载,网络,缓存...
    99+
    2023-05-31
    ndroid ui 更新
  • Vue计时器的用法详解
    本文实例为大家分享了Vue实现计时器的具体代码,供大家参考,具体内容如下 功能简介: 1、初始值为0,点击【加】按钮,数字自+1;连续点击【加】,不影响数字+1 2、点击【停】按钮...
    99+
    2024-04-02
  • Kotlinobject的几种用法示例详解
    目录1.object:匿名内部类2.object: 伴生对象3.单例模式1.object:匿名内部类 在Android最常用的匿名内部类之一就是点击事件,用Java语言写的话就是下面...
    99+
    2022-12-08
    Kotlin object用法 Kotlin object
  • 详解Golang中删除slice元素的几种方法
    Golang是一种流行的编程语言,因为它简单、高效和易于学习。当你在使用Golang进行编程时,你可能会遇到需要从slice中删除元素的情况。在这篇文章中,我们将会讨论在Golang中删除slice元素的几种方法。方法一:使用append函...
    99+
    2023-05-14
  • 详细介绍PHP时间转时间戳的几种方法
    PHP时间转时间戳是一项常用的操作,它可以将指定的时间转化为以秒为单位的时间戳。在PHP项目中,时间戳是一个非常重要的概念,它可以用于处理与时间相关的操作,如记录日志、统计时长等。在本文中,我们将介绍PHP时间转时间戳的几种方法。一、使用d...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作