在写游戏脚本,或其他脚本的时候,经常会遇到这样的问题:
以游戏为例: 比如你要找一张图片,这张图片是否出现,在游戏里包含指定意义(这个和自己游戏有关,具体不提)
你也许会设想:在10秒内找这张图片,如果10秒后,这张图仍然没出现,那么就可能是发生了错误,必须要转到其他语句去执行特定操作
一般正规的思路是,如下
t1=now
do
if DateDiff("s",t1,now)>10 then
goto 特定操作
loop
复制代码上面的代码,我相信很多人都在用,包括我
慢慢的,就发现了一个小技巧,这个方法比上面的方法简单,方便
现在几乎不用上面的代码,除了特殊情况
代码如下:
For i=1 to 9999
if i= 100 then
goto 特定操作
end if
delay 100
//上面是一个循环,每一次循环后,都会延迟100毫秒,也就是说当i=100的时候,他肯定已经超过10秒了
//如果你把延迟弄的在小点,比如 delay 10 ,那么就精确了
//最大的好处就是:不需要获取时间函数,也不需要计算时间差的函数,一切由我们自己算
//最后补充下:如果你对图片的实时性要求非常严格,要求在第一时间做出反应,那么你应该用第一个方法DateDiff来计算,
复制代码
以游戏为例: 比如你要找一张图片,这张图片是否出现,在游戏里包含指定意义(这个和自己游戏有关,具体不提)
你也许会设想:在10秒内找这张图片,如果10秒后,这张图仍然没出现,那么就可能是发生了错误,必须要转到其他语句去执行特定操作
一般正规的思路是,如下
t1=now
do
if DateDiff("s",t1,now)>10 then
goto 特定操作
loop
复制代码上面的代码,我相信很多人都在用,包括我
慢慢的,就发现了一个小技巧,这个方法比上面的方法简单,方便
现在几乎不用上面的代码,除了特殊情况
代码如下:
For i=1 to 9999
if i= 100 then
goto 特定操作
end if
delay 100
//上面是一个循环,每一次循环后,都会延迟100毫秒,也就是说当i=100的时候,他肯定已经超过10秒了
//如果你把延迟弄的在小点,比如 delay 10 ,那么就精确了
//最大的好处就是:不需要获取时间函数,也不需要计算时间差的函数,一切由我们自己算
//最后补充下:如果你对图片的实时性要求非常严格,要求在第一时间做出反应,那么你应该用第一个方法DateDiff来计算,
复制代码