一 调试环境
二 修改引擎
三 弊端
一 调试环境
环境:
引擎版本4.0.3
原因是tween、timer等使用的心跳计时器starttick,都是优先检查window的requestAnimateFrame等刷新,在浏览器置于后台时,这些方法貌似不执行了,
所以需要改为系统时间计时。
二 修改引擎
1 找到引擎源码目录
我这里是C:\Users\Administrator\AppData\Roaming\Egret\engine\4.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
三 弊端: