Layaair Timer报错解决方案
26 February 2019
如果使用腊鸭提供的timer,然后自己写的函数报错。腊鸭就会完全黑屏。 腊鸭是一个引擎,这样就太不稳定了。虽然程序员不应该写出bug。但是如果一个项目大了,写的人多了。还是会偶尔出现bug的。 所以我想了一个腊鸭timer的优化方案。
腊鸭的timer是这么写的
Browser.window.requestAnimationFrame(loop);
function loop (stamp){
Laya.stage._loop();
Browser.window.requestAnimationFrame(loop);
}
只需要交换2行的位置,就能使腊鸭变的非常稳定。改动如下
Browser.window.requestAnimationFrame(loop);
function loop (stamp){
Browser.window.requestAnimationFrame(loop);
Laya.stage._loop();
}
因为原版的腊鸭是先执行loop再请求循环。一旦loop函数报错,腊鸭的主循环就废了。渲染也不执行了。所以改成先请求动画,再loop。不管loop里面报什么错,腊鸭都会稳定的执行