【问题标题】:Lua separate functions at different intervalsLua 以不同的时间间隔分离函数
【发布时间】:2019-05-15 12:06:07
【问题描述】:

具体来说,我正在尝试为使用 Lua 语言的罗技鼠标编写一个简单的脚本。

所需的脚本很简单:每 5 毫秒将鼠标向下移动 1 个像素,然后每 500 毫秒单击鼠标按钮 1。

相互独立的动作很简单;

repeat
MoveMouseRelative(0,1)
Sleep (5)

repeat
PressMouseButton(1)
Sleep (500)

但是,我正在寻找一种简单/优雅的方式将它们组合成一个循环。对新手有什么建议吗?

【问题讨论】:

    标签: lua logitech-gaming-software


    【解决方案1】:

    嗯,简单的变体可能是:

    repeat
      for i=1,100 do
        MoveMouseRelative(0,1)
        Sleep(5)
      end
      PressMouseButton(1)
    until false
    

    【讨论】:

    • 非常感谢弗拉德,我认为这对我的目的有用。现在我只需要学习协程,以便在需要时打破循环。
    • LGS 甚至支持协程吗?
    • 快速测试表明确实如此。但是,使用协程可能不是我想要的。我希望能够在脚本完成之前中断脚本,然后再次从头开始脚本。根据我有限的理解,听起来协程会从停止的地方恢复脚本?
    • @shiphtfour 要结束脚本,您可以在某些情况下从它return。如果您需要从屈服点恢复执行,则需要协程。如果你只需要中断脚本并从头开始,那么简单的返回就足够了。
    • @Vlad 再次感谢您。如果我可以再麻烦你一次,那在代码中会是什么样子?假设我希望循环继续,只要条件loop == 1。如果loop == 0,那么我希望循环中断。如果使用return 来实现这一点,循环可以在完成之前中断吗?例如,我可以在i=100 之前中断循环吗?
    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多