LUA中如何设置MoveMouseRelative函数的执行时间?
How to set the execution time of the MoveMouseRelative function in LUA?
我是编程新手,需要请教一个问题。
因此,加载到罗技鼠标中的这段代码以给定的速度将其拉下:
MoveMouseRelative(0,3)
Sleep(25)
问题的本质:如何设置以毫秒为单位的准确时间,以确定该功能在切换到另一个功能之前将工作多长时间,可能是这样的:
MoveMouseRelative(0,1)
Sleep(18)
因此,鼠标以一种速度移动一段时间,然后切换到另一种速度。
这是修复的代码:
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
MoveMouseRelative(0,3)
Sleep(25)
until not IsMouseButtonPressed(1)
end
until not IsMouseButtonPressed(3)
end
end
如有任何支持,我将不胜感激
影响函数执行时间的唯一方法是降低 cpu 时钟(你不能这样做)或插入空闲时间。
这就是您已经在使用 sleep
所做的事情。
请注意,时间安排通常不是很准确。所以不要指望这里有微秒分辨率。
MoveMouseRelative
参数总是整数(越大越快)
Sleep
参数建议为15的倍数(越小越快)
EnablePrimaryMouseButtonEvents(true)
function OnEvent(event, arg)
Sleep(10)
if IsMouseButtonPressed(3) and IsMouseButtonPressed(1) then
local t0 = GetRunningTime()
repeat
MoveMouseRelative(0,3) -- move fast
Sleep(15)
until GetRunningTime() > t0 + 500 -- exit this loop after 500 ms
or not (IsMouseButtonPressed(3) and IsMouseButtonPressed(1))
repeat
MoveMouseRelative(0,1) -- move slow
Sleep(30)
until not (IsMouseButtonPressed(3) and IsMouseButtonPressed(1))
end
end
我是编程新手,需要请教一个问题。 因此,加载到罗技鼠标中的这段代码以给定的速度将其拉下:
MoveMouseRelative(0,3)
Sleep(25)
问题的本质:如何设置以毫秒为单位的准确时间,以确定该功能在切换到另一个功能之前将工作多长时间,可能是这样的:
MoveMouseRelative(0,1)
Sleep(18)
因此,鼠标以一种速度移动一段时间,然后切换到另一种速度。 这是修复的代码:
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsMouseButtonPressed(3)then
repeat
if IsMouseButtonPressed(1) then
repeat
MoveMouseRelative(0,3)
Sleep(25)
until not IsMouseButtonPressed(1)
end
until not IsMouseButtonPressed(3)
end
end
如有任何支持,我将不胜感激
影响函数执行时间的唯一方法是降低 cpu 时钟(你不能这样做)或插入空闲时间。
这就是您已经在使用 sleep
所做的事情。
请注意,时间安排通常不是很准确。所以不要指望这里有微秒分辨率。
MoveMouseRelative
参数总是整数(越大越快)
Sleep
参数建议为15的倍数(越小越快)
EnablePrimaryMouseButtonEvents(true)
function OnEvent(event, arg)
Sleep(10)
if IsMouseButtonPressed(3) and IsMouseButtonPressed(1) then
local t0 = GetRunningTime()
repeat
MoveMouseRelative(0,3) -- move fast
Sleep(15)
until GetRunningTime() > t0 + 500 -- exit this loop after 500 ms
or not (IsMouseButtonPressed(3) and IsMouseButtonPressed(1))
repeat
MoveMouseRelative(0,1) -- move slow
Sleep(30)
until not (IsMouseButtonPressed(3) and IsMouseButtonPressed(1))
end
end