其实VB和js差不多,都不支持命令级的sleep(n)。要实现效率高,不耗CPU的延时都要通过定时器实现。
先说js,
定义一个8000ms的定时器
var tidck=window.setTimeout(cknet,8000); //重置定时器
这里tidck是定时器的id,后面好用来停止
cknet是定时器时间到后要执行的函数。
定时器到时会执行一段函数,然后回到原来的程序处继续执行。理解了这个流程,实用起来也就不那么费解了。
首先我们要定义一个函数,比如是需要延迟吃蓝
function ujl(){
main.useCut(5);
}
然后在主程序里面需要延时的地方,比如加血后,判断还需要吃蓝,这是不能直接usecut(5)
那么就用var til=window.setTimeout(ujl,600);替代原来的//main.useCut(5);
很简单吧
定时器有时候需要清除,比如检查到了shoot,或者挂了,要停止挂机的主定时器,
window.clearTimeout(tidg); //清除打怪定时任务
这里的tidg就是当时定义定时器的标识变量。
另外,这个定时器是一次性的,用来执行延时最好。如果你要实现循环定时,也很简单,在定时函数的最后,在调用一次自己就可以了,注意,前面不要在用var定义新变量。只要定义一次即可。
恩,不知道这么说清楚了没有。
js还有一种定时器的用法,是循环的。没有仔细研究,有一种就够用了。