[]休眠后,如何保持frameLoop循环调用和Laya.timer.once定时延迟进度一致

游戏主逻辑用frameLoop循环刷新。这其中可能会因玩家的操作触发某个延时执行事件Laya.timer.once
如果触发Laya.timer.once后网页休眠,Laya.timer.once依然会以现实中的经过时间触发,而frameLoop循环会几乎停止运行。这对于没有服务端校验时间的单机游戏是很伤的。请问有什么好的方法解决没?
眼下的timer和timeLine缺少全部暂停(一键暂停)和全部恢复、全部销毁的静态方法,不然可以侦听当前是否休眠进行暂停相关逻辑的编写
已邀请:

cuixueying

赞同来自:

在网页失去焦点时,譬如网页最小话,关闭网页登操作,frameLoop会停止运行,针对这种情况
1、开发者可以侦听下舞台的Blur和Focus事件,当失去焦点时,即为网页休眠,可以同时暂停Laya.timer.once,当恢复焦点时,重新触发,这个需要记录下once运行的时间和变化的程度
2、用js原生的setInterval方法,这个方法也是个计时器,不同的是它在浏览器失去焦点的时候依然会继续触发,具体的使用方式可以网上搜下。

要回复问题请先

商务合作
商务合作