比如在循环中,执行的太快,想让它每执行一次等待100ms再执行下一次。
用cc.delayTime(0.1) 一定效果都没有啊。
比如在循环中,执行的太快,想让它每执行一次等待100ms再执行下一次。
用cc.delayTime(0.1) 一定效果都没有啊。
试试 schedule 吧
this.scheduleOnce(callback, 0.1);
cc.delayTime是延时动作, 楼上才是正解
我试了这个this.scheduleOnce(function(){cc.log(“test”)}, 10);
结果并不是延时10秒后执行下一个循环,而是本次循环执行10s后执行cc.log(“test”),所以现在换了种方式,自己写一个循环语句来实现非精确的延时。
另外还有一个大问题就是,在整个循环执行过程中,update竟然没有执行过,导致循环过程中改变的坐标并没有在屏幕上显示出来,难道只能借助物理引擎来实现一个简单的移动吗?
scheduleOnce 只会执行一次,所以你必须 re-schedule
this.scheduleOnce(this.callback, 10);
callback : function()
{
cc.log("test")
this.scheduleOnce(this.callback, 10);
}
至于 update : function(dt)
你必须执行这个
this.scheduleUpdate();
用setTimeout(callback,s) 参数s单位是秒 表示多少秒后执行该方法