createjs初学-关于Ticker

createjs初学-关于Tickertick 本来的意思是钟表的滴答声 在 createjs 中的 Ticker 当然就是于时间相关的 Ticker 是一个静态类 提供了好多静态方法和属性 不要去实例化它 在 API 文档中对 Ticker 的介绍是它是一个集中的间隔广播 侦听 tick 时间后再设定的时间间隔会调用侦听函数

tick本来的意思是钟表的滴答声,在createjs中的Ticker当然就是于时间相关的。

Ticker是一个静态类,提供了好多静态方法和属性,不要去实例化它。

在API文档中对Ticker的介绍是它是一个集中的间隔广播,侦听tick时间后再设定的时间间隔会调用侦听函数。

但是我觉着在Beginning HTML5 Games with CreateJS这本书中的解释更好。Ticker类为游戏开发提供了一个主要的定时类。它主要的目的就是把stage渲染的工作集中起来,也就是说定时调用stage.update()这个方法。Ticker设置的频率也就是游戏的帧数了。

要注意一点就是在CPU使用率过高时,Ticker可能会比设定的要慢。这个很容易理解。

Ticker的使用如下,Ticker静态类侦听tick事件,然后设置好相应的函数就行

createjs.Ticker.addEventListener("tick", handleTick); function handleTick(event) { 
    //todo }

对于更新舞台来说就是,可以先设置一个帧频

createjs.Ticker.setFPS(30); createjs.Ticker.addEventListener("tick", handleTick); function handleTick(event) { stage.update(); }

也可以这样写

createjs.Ticker.setFPS(30); createjs.Ticker.addEventListener("tick",stage);

因为addEventListener这个方法是这样的

addEventListener (type listener [useCapture] )
p.handleEvent = function(evt) { 
    if (evt.type == "tick") { this.update(evt); } };

tick事件的event

function handleTick(event) { 
    //todo }

Ticker类的属性
1.interval 这个就是用来设置间隔的时间,以毫秒为单位。默认为50。
在RAF模式下,这个参数就会被忽略。
2.framerate 这个参数用来直接设置fps,其实内部实现就是设置interval
interval=1000/framerate。
3.maxDelta 指定tick事件中的delta最大值。文档中推荐这个值为interval的两倍。
4.paused 在ticker暂停时,所有的侦听器仍然会接受到tick事件,但是事件中的paused会是true;












createjs.Ticker.addEventListener("tick", handleTick); createjs.Ticker.paused = true; function handleTick(event) { console.log(event.paused); }

Ticker类的方法
1.getTime ([runTime=false] )
返回Ticker初始化以后的总时间,如果没有初始化就返回-1。(初始化时在添加第一个侦听时进行的)。参数runTime表示返回的是否包含暂停时间,true的话只有tick运行的时间,false的话是所有时间。
2.getEventTime (runTime ) 和getTime差不多,但是返回的是最近一次tick事件的时间。
3.getMeasuredFPS() 获得当前的实际帧频。
4.getMeasuredTickTime 获得平均一次tick所有的时间,大概就是在这一次tick所用的时间。
5.getTicks (pauseable) 获得初始化后所有tick的次数 参数表明是否包含暂停的tick
6.reset() 停止Ticker并且移除所有的侦听。














版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214503.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午4:06
下一篇 2026年3月18日 下午4:07


相关推荐

  • 【X11vnc】Ubuntu18.04 x11vnc启动失败,报错error opening logfile: /var/log/x11vnc.log

    【X11vnc】Ubuntu18.04 x11vnc启动失败,报错error opening logfile: /var/log/x11vnc.logUbuntu18.04x11vnc启动失败,报错erroropeninglogfile:/var/log/x11vnc.log前提概要报错解决方案前提概要之前在Ubuntu18.04安装了x11vnc,最近通过vncview连不上了,使用ssh登录后,根据journalctl-ux11vnc发现报错创建/var/log/x11vnc.log后查看x11vnc.log报错root@VM-16-8-ubuntu:/home/ubuntu#cat/var/log/x11vnc.l

    2025年6月9日
    6
  • 标志寄存器EFLAGS中的IF标志可以屏蔽MINI中断相应_cpsr寄存器标志位

    标志寄存器EFLAGS中的IF标志可以屏蔽MINI中断相应_cpsr寄存器标志位EFL介绍EFL的所有标志全称如上图所示,前8位(0~7)因为用不到,所以不作介绍,想看的可以点击原文链接。状态控制位1.追踪标志位TF(TrapFlag)当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。指令系统中没有专门的指令来改变标志位TF的值,但可直接通过文末介绍的方法来进行修改。2.中断允许标志位…

    2025年6月20日
    4
  • es6类型转换_es6转换es5

    es6类型转换_es6转换es5>虽然我觉得没什么用,但是记一下吧[TOC]####1.新建项目项目目录结构:![](https://box.kancloud.cn/1e80da2d1c4c01681a65023089a9f18a_229x108.png)####2.src中的**index.js**为你写的es6语法代码我们例子写:“`letb=1;console.log(b);constname=”…

    2026年3月6日
    4
  • 快排优化Python表示「建议收藏」

    基本快速排序分析以从小到大排序为例*选取一个主元(选取方式多样)*利用主元,将序列分为两个子序列,左侧都比主元小,右侧都比主元大。*对两个子序列重复此操作例如取第一个元素,代码表示如下:defqsort(arr):iflen(arr)<=1:returnarrelse:pivot=arr[0]r

    2022年4月12日
    205
  • MATLAB绘制统计折线图

    MATLAB绘制统计折线图MATLAB绘制实验数据折现图  在论文或者文章写作中,经常需要使用图形来表示我们的实验结果。一般来说,这种表示方式比表格更加直观、更加可视化。因此,本文给出一种使用MATLAB处理数据得到折线图的教程。1.待处理数据形式  待处理的数据为迭代次数与SR、time、RC、length、steerNum、steerAngle、validNode这七个指标的走势图。即随着迭代次数的增加,这七个指标的走势情况。并且,实验数据包含一个改进和两个对比,三个数据都保存在txt文件中,如下所示。dealme

    2022年6月10日
    33
  • maven打包时打包指定的lib文件夹

    maven打包时打包指定的lib文件夹今天在打包自己的springboot项目时遇到了问题,报找不到类和符号。因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包。修改pom.xml,添加一下内容:<build><plugins><plugin><groupId>or…

    2022年5月29日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号