【咸鱼教程】置于后台停止计时,修改引擎源码解决。

一 调试环境
二 修改引擎
三 弊端
 
 
 
一  调试环境
环境:
引擎版本4.0.3
原因是tween、timer等使用的心跳计时器starttick,都是优先检查window的requestAnimateFrame等刷新,在浏览器置于后台时,这些方法貌似不执行了,
所以需要改为系统时间计时。


二  修改引擎

1 找到引擎源码目录
我这里是C:UsersAdministratorAppDataRoamingEgretengine4.0.3
2  wing打开源码,找到EgreWeb.ts
3 注释掉canvas的刷新。使用系统时间刷新。
3 找到 egret.web.js,同样注释掉canvas刷新
测试下效果
1. 编译一次你使用4.0.3引擎的项目,并找到
libs/modules/egret/egret.web.js 看看修改是否生效
如下图,项目的源码已经和引擎一样被修改了。
2 新建一个计时器,timer,每秒输出一次console.log(1)
  当浏览器置于后台时,timer依然生效,持续输出1
 
 
 
三 弊端:
 
 
 
 
原文地址:https://www.cnblogs.com/gamedaybyday/p/9219878.html