嵌套for循环因未知原因而减速(自动)

时间:2016-12-24 21:09:42

标签: loops limit autoit

我的代码:

Func myFunc()

    $lag = 1300
    while (1)
        MouseMove(870, 189)
        sleep(10)
        LC(870, 189)
        sleep(1200 + $lag)
        LC(1010,333)
        sleep(100)
        RC(826,115)
        sleep(50)
        LC(870,212)
        sleep(50)
        send("{ESC}")
        sleep(150)
        $x = 0
        $y = 0

        For $i = 0 To 27 Step 1
            sleep(11)
            MouseClick("left", 1158 + $x ,260 + $y)
            $x+=42
            if ($x = 168) Then
                $x = 0
                $y+=36
            EndIf
        Next

    WEnd

EndFunc

for循环中唯一的延迟是sleep(11),但每次迭代需要大约0.5秒(500ms)而不是11ms +任何小延迟。此外,完全移除循环的睡眠(11)部分仍然会导致大约500ms的延迟。

任何人都想知道,它是一个视频游戏宏; while循环的第一部分打开一个接口并设置一些东西,而第二部分(for循环)则假设非常快速地点击库存。

1 个答案:

答案 0 :(得分:0)

鼠标光标需要一段时间才能移动。将速度参数设置为0以使其立即移动

MouseClick("left", 1158 + $x ,260 + $y,1,0)