在上次发布的碧蓝航线12-4练级脚本的测试阶段中,曾出现当结束脚本后再次开启循环体不运行的BUG,并且当时我并没有找到原因,后来看到按键精灵的For循环代码时,我明白了原因。
在按键精灵中的For循环提供了多种格式
例子1: //支持Exit For 命令退出循环 For i=0 To 9 Delay 100 Next //循环10次 例子2: //支持Exit For 命令退出循环 For 10 Delay 100 Next //循环10次 例子3: //支持Exit For 命令退出循环 For i=0 to 19 step 2 Delay 100 Next //循环10次 例子4: //支持Exit For 命令退出循环 For i=0 to 19 step 2 Delay 100 If i>9 Then Exit For End If Next //循环5次 例子5: For 10 Delay 100 EndFor //循环10次起初我使用的是例子5的格式,而再运行之后循环体的运行的原因的问题也是出在这里。在按键精灵脚本重新运行时,对于For循环的计数并没有清空,例子5的循环原理还是使用一个变量作为计数,而在此运行脚本该变量还是处于循环结束的状态,所以第二次启动脚本时并不会正确运行。
知道原因之后改正我的代码也变得很简单,既然计数变量并不会自动清空,那么只需要我们在循环结束之后手动清空即可,而按键精灵正好提供了这种格式,所以我们使用例1的格式,每次重新运行代码都会将计数重新赋值。
改正后代码为 For i=0 to 3 ···· ···· Next