egret定时器制作时钟

作者: IrisLong | 来源:发表于2019-04-04 16:54 被阅读0次
定时器示例,指针按照定时每次旋转6度,点击舞台,可控制是否继续旋转(为了效果更明显,定时器每次时间间隔调快了10倍)
逻辑(比较简单)
  1. 绘制一个圆
        // 绘制一个表盘(圆)
        var cir: egret.Shape = new egret.Shape();
        cir.graphics.beginFill(0x000000, 0);
        cir.graphics.lineStyle(1, 0x000000);
        cir.graphics.drawCircle(0, 0, 100);
        cir.graphics.endFill();
        cir.x = this.stage.stageWidth / 2;
        cir.y = this.stage.stageHeight / 2;
        this.addChild(cir);
  1. 绘制一个指针
        // 绘制一个指针(线)
        this._line = new egret.Shape();
        this._line.graphics.beginFill(0x000000);
        this._line.graphics.drawRect(0, 0, 98, 2);
        this._line.graphics.endFill();
        this._line.x = this.stage.stageWidth / 2;
        this._line.y = this.stage.stageHeight / 2;
        this.addChild(this._line);
  1. 创建一个定时器
        // 创建一个定时器
        var _timer: egret.Timer = new egret.Timer(100, 120);  // 每次间隔时间  执行次数(0->重复执行)
        _timer.addEventListener(egret.TimerEvent.TIMER, this.timerFunc, this);
        _timer.start();  // 开始计时

    // 在计时过程中触发 -> 要执行的动作
    private timerFunc() {
        this._line.rotation += 6;
        console.log(`${this._line.rotation}`);
    }
  1. 监听舞台 -> 指针转动开关效果(可创建一个文本用来提示)
        // 监听舞台
        this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP,()=>{
            if(_timer.running){ // 计时器正在运行的时候进入
                this._txt.text = '定时器 关闭';
                _timer.stop();
            }else{
                this._txt.text = '定时器 开启';
                _timer.start();
            }
        },this);
注意几个问题
  1. 旋转的角度,默认是0~180 / -180~0
  2. 目前执行次数为 0 或者 -1 的时候,循环播放都不生效(已求助官网人员,暂时还没回复)
  3. 默然情况下,点击舞台外任一位置 -> 可以暂停定时器,点击舞台内任一位置 -> 从当前暂停位置重新播放
效果示意图 -- 未完成版

相关文章

  • egret定时器制作时钟

    逻辑(比较简单) 绘制一个圆 绘制一个指针 创建一个定时器 监听舞台 -> 指针转动开关效果(可创建一个文本用来提...

  • 前端知识定时器 类型转换 变量作用域

    定时器在javascript中的作用 1、制作动画2、异步操作3、函数缓冲与节流 定时器类型及语法 定时器制作时钟...

  • 前端-第17天-学习

    定时器制作时钟 window.onload = function(){var oDiv = document.ge...

  • stm32学习记录

    定时器相关 定时器的时钟来源这里,定时器的时钟来源有 4 个:1) 内部时钟(CK_INT)2) 外部时钟模式 1...

  • socket.IO 在白鹭中使用

    官方制作好了插件, 下载https://github.com/egret-labs/egret-game-libr...

  • 定时器弹框、定时器基本用法、定时器动画、时钟

    定时器弹框: 定时器基本用法: 定时器动画: 时钟:

  • Linux C/C++定时器的实现原理和使用方法

    定时器的实现原理 定时器的实现依赖的是CPU时钟中断,时钟中断的精度就决定定时器精度的极限。一个时钟中断源如何实现...

  • 12.18

    SYSTick定时器(滴答时钟):Timer定时器;时基分三大模块:时钟源(最小单位)、重载计数、计数增/减(起始...

  • 定时器

    定时器弹窗 定时器基本用法 定时器动画 时钟 倒计时 变量的作用域

  • js定时器

    定时器弹窗 定时器的基本用法 定时器动画 时钟 倒计时 变量的作用域

网友评论

    本文标题:egret定时器制作时钟

    本文链接:https://www.haomeiwen.com/subject/astqiqtx.html