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] )

其中参数listener可以是一个方法,也可以是一个对象,这个对象里面有handleEvent这个方法,来出来侦听事件。
而Stage类里面就有handleEvent这个方法,而且就是用来处理tick事件的,看Stage里面的源码就知道

p.handleEvent = function(evt) {if (evt.type == "tick") { this.update(evt); }
};

tick事件的event

function handleTick(event) {//todo
}

在侦听函数中event的数据
1.event.paused 表示ticker是否处于暂停状态
2.event.delta 在上一次tick事件之后到这次事件的时间间隔,以毫秒为单位。
3.event.time 在Ticker被初始化以后的时间总和,以毫秒为单位。
4.event.runTime 在Ticker被初始化以后没有暂停的时间总和,以毫秒为单位。

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

5.timingMode指定tick的timing模式。一共有三种模式,TIMEOUT、RAF和RAF_SYNCHEN。
(1)TIMEOUT,这种模式下使用的就是setTimeOut这个方法实现的。是timingMode的默认模式。
(2)RAF 在这个模式下使用requestAnimationFrame,完全忽略Ticker的帧频。如果requestAnimationFrame API不支持的话就用TIMEOUT模式。
(3)RAF_SYNCHEN 在这个模式下使用requestAnimationFrame,但是试图与ticker的帧频同步。如果requestAnimationFrame API不支持的话就用TIMEOUT模式。

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并且移除所有的侦听。

createjs初学-关于Ticker相关推荐

  1. createjs开发h5游戏: 指尖大冒险

    之前看到一个指尖冒险游戏,觉得挺有意思,就想学习一下怎么实现,毕竟当产经提出类似的需求时,问我等开发可不可以实现的时候,不至于回答不知道. 本文的主要思路,参考的是凹凸实验室的这篇文章:H5游戏开发: ...

  2. h5小游戏--围住神经猫笔记

    CreateJS 1,Ticker类为游戏开发提供了一个主要的定时类.它主要的目的就是把stage渲染的工作集中起来,也就是说定时调用stage.update()这个方法.Ticker设置的频率也就是 ...

  3. Html5游戏框架createJS组件--EaselJS

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验. 掌 ...

  4. CreateJs入门必知必会

    CreateJS介绍 CreateJS是基于HTML5开发的一套模块化的库和工具. 基于这些库,可以非常快捷地开发出基于HTML5的游戏.动画和交互应用. CreateJS主要包含如下四个类库: Ea ...

  5. createjs中shape的属性regX和regY

    官方文档说regX和regY是图形与注册点的距离. 那么注册点是什么呢? 我理解注册点就是图形的x/y对应的点 图形动效的原点就是注册点 如果修改图形的regX和regY值图形在画布上的位置是会被改变 ...

  6. canvas 动画库 CreateJs 之 EaselJS(上篇)

    本文来自网易云社区 作者:田亚楠 须知 本文主要是根据 createjs 中的 EaselJS 在 github 上的 tutorials 目录下的文章整理而来 (原文链接),同时也包含了很多本人的理 ...

  7. CreateJS基础 学习笔记(上)

    1.CreateJS介绍 了解CreateJS 1.CreateJS:     一款HTML5游戏开发的引擎     CreateJS是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低H ...

  8. createjs入门

    createjs是一个轻量级的框架,稍微有点时间和耐心,就可以把全部源代码都看一遍,毕竟只有三十几个js文件.地址:http://www.createjs.com/ 开发createjs的动画或游戏, ...

  9. CreateJS 学习4 动画、TweenJS

    水平移动动画示例 <html><head><script src="easeljs.min.js" charset="utf-8" ...

最新文章

  1. 字节AI实习生搞出这个玩意儿,撩到了图灵奖大神,我用了用结果画风逐渐鬼畜起来……...
  2. oracle触发器高级教程
  3. Ethernet/IP 学习笔记二
  4. Linemod;理解
  5. 餐饮水单打印软件_开发一款餐饮手机app系统软件什么价格?有哪些方面需要考虑?...
  6. squid 的配置详解 (转)--SeriesIV
  7. 孩子教育经验,自己整理,不看后悔一辈子
  8. Madagascar的自定义浮点型函数--取整函数
  9. ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
  10. 【最小割】HDU 4289 Control
  11. posix线程使用详解
  12. PL/SQL Developer 8注册码
  13. jQuery实例——表格隔行换色
  14. 微信支付v3 php 源码,求微信支付wxpayv3服务端完整代码
  15. SAS时间序列分析案例--有季节效应的非平稳序列分析
  16. 多轴联动编程C语言,全国数控技能大赛―复杂部件造型、多轴联动编程与加工_...
  17. 摄影爱好者尝试图库销售时需要注意什么?| 拍者手记
  18. U8 8.9 数据库置疑恢复方法
  19. spring-advisor-advised
  20. 为双系统 Ubuntu grub启动项中添加Windows启动项

热门文章

  1. java模拟内存溢出并分析_本地模拟内存溢出并分析Dump文件
  2. ffmpeg 图片转视频视频合并
  3. SQL Server 2008服务器安装设置向导
  4. 目标检测之Two Stage
  5. Ask, acquire, and attack: data-free UAP generation using class impressions
  6. 程序员的“青春饭”能吃多久?IT行业的“年龄焦虑”该贩吗?
  7. CodeForces 786A Berzerk 博弈?BFS瞎搞
  8. RSA非对称加密和解密(同时生成密钥)
  9. java缺少方法主体_Java开发网 - 总是报错(缺少方法主体,或声明抽象)
  10. RxJava基本实现