将鼠标从点A移动到点B

我很难使鼠标从Fx,Fy平滑地移动到Hx,Hy

local x1 = 0
local y1 = 0
function OnEvent(event, arg)
    Fx, Fy = 41220, 36442
    Hx, Hy = 39205, 44459

    while x1 ~= Hx or y1 ~= Hy  do
        for i = 0 do 2015
            x1 = Fx - 1
            y1 = Fy + 4 --我通过减去较低的Fx和Hx然后除以2015得到4
            MoveMouseRelative(x1, y1)
            Sleep(1000)
        end
    end
end

我迷失在while语句中应该加什么,它一直给我错误提示。

点赞
用户2858170
用户2858170
下面的代码是错误的。一个数值 for 循环的语法应该是:

stat ::= for Name ‘=’ exp ‘,’ exp [‘,’ exp] do block end

```

请注意,在三个控制表达式“初始值”、“限制”和“步长”中,只有第三个表达式“步长”是可选的(参见方括号)。

在你的代码中,你没有提供一个限制条件。

另外在你的代码中,不能像 do 后面的 2015 这样直接写一个数字,这也是一个语法错误。

请仔细阅读 Lua 手册。https://www.lua.org/manual/5.4/manual.html#3.3.5

另外,你的代码并没有达到任何有用的目的。

你只是在循环中不断赋值相同的常量。由于 x1 和 y1 永远不会改变,且你的条件永远会满足,你的 while 循环将永远运行。每秒导致鼠标相对运动 (41219; 36446),这是毫无意义的。

我建议你先用纸和笔仔细思考你的问题。确保你的行动是有意义的。然后根据 Lua 手册实现它。

2021-07-17 11:55:32