this.iTime1=0;
this.iTime2=0;
component.schedule(function() {
// 这里的 this 指向 component
// this.doSomething();
this.iTime1++;
}, 0.01);
component.schedule(function() {
// 这里的 this 指向 component
//this.doSomething();
this.iTime2++;
}, 1);
this.iTime2会比this.iTime1/100大不少,有什么办法以0.01秒为单位计时么?
update可行。。
我基本都是settimeout,cocos的计时器曾经用过,感觉坑不少,没特殊要求下settimeout都更稳
从来不用schedule……一般延时我用action,重复调用的直接自己update里统一处理……你这里差距很大我估计是因为schedule是依赖于update来处理的,然而60帧的游戏你没法保证0.01的调用频率吧,自己在update里用累计时间来判断调用几次吧,unity有fixedUpdate,creator可没有,只能自己模拟一个。虽说用setTimeOut应该可以,但是在,总感觉setTimeOut只是属于web的,鬼知道app会发生什么问题
建议不要用settimeout,两个都是一样 js主线程调用的。主线程卡帧都会卡。settimeout场景切换还是会调用。这样逻辑写起来会很复杂。
遇到过你说的问题了,确实如果需要场景切换,用schedule会更好些,但是更多时候我还是用settimeout。schedule用的时候出现了挺多坑的,近期做一个让Lbael数字递增递减,同方法延时递归,用schedule会出现预想之外的效果,达不到预期。而settimeout却不会出现这种问题,小白也不是很清楚出现的原因是什么