美文网首页
【从0开始学Laya】10-定时器

【从0开始学Laya】10-定时器

作者: 会奔跑的蘑菇 | 来源:发表于2020-04-27 23:04 被阅读0次

Timer 是时钟管理类,它是一个单例,不要手动去new实例化此类,应该通过 Laya.timer 访问。

1.延迟执行
/**延迟执行一次,无论循环多少次,也只执行一次
 * @param   caller 执行域(this)。
 * @param   method 定时器回调函数——只会执行一次
 * @param   args 回调参数。
*/
callLater(caller: any, method: Function, args?: Array<any>): void;
示例代码

2.定时执行

基于时间单位:分为基于毫秒和基于帧率
基于执行次数:分为执行一次和间隔循环

执行一次

/**
 * 定时执行一次。
 * @param   delay   延迟时间(单位为毫秒)。
 * @param   caller  执行域(this)。
 * @param   method  定时器回调函数。
 * @param   args    回调参数。
 * @param   coverBefore 是否覆盖之前的延迟执行,默认为 true 。
 */
once(delay: number, caller: any, method: Function, args?: Array<any>, coverBefore?: boolean): void;

/**
 * 定时执行一次(基于帧率)。
 * @param   delay   延迟几帧(单位为帧)。
 * @param   caller  执行域(this)。
 * @param   method  定时器回调函数。
 * @param   args    回调参数。
 * @param   coverBefore 是否覆盖之前的延迟执行,默认为 true 。
 */
frameOnce(delay: number, caller: any, method: Function, args?: Array<any>, coverBefore?: boolean): void;

间隔循环

/**
 * 定时重复执行。
 * @param   delay   间隔时间(单位毫秒)。
 * @param   caller  执行域(this)。
 * @param   method  定时器回调函数。
 * @param   args    回调参数。
 * @param   coverBefore 是否覆盖之前的延迟执行,默认为 true 。
 * @param   jumpFrame 时钟是否跳帧。基于时间的循环回调,单位时间间隔内,如能执行多次回调,出于性能考虑,引擎默认只执行一次,设置jumpFrame=true后,则回调会连续执行多次
 */
loop(delay: number, caller: any, method: Function, args?: Array<any>, coverBefore?: boolean, jumpFrame?: boolean): void;

/**
 * 定时重复执行(基于帧率)。
 * @param       delay   间隔几帧(单位为帧)。
 * @param       caller  执行域(this)。
 * @param       method  定时器回调函数。
 * @param       args    回调参数。
 * @param       coverBefore     是否覆盖之前的延迟执行,默认为 true 。
 */
frameLoop(delay: number, caller: any, method: Function, args?: Array<any>, coverBefore?: boolean): void;

3.定时器的暂停和恢复

/**
 * 暂停时钟————暂停所有 Timer
 */
pause(): void;
/**
 * 恢复时钟————恢复所有 Timer
 */
resume(): void;

相关文章

网友评论

      本文标题:【从0开始学Laya】10-定时器

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