0

このコードを短くする方法はありますか?

if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
PressKey ("a")
Sleep (50)
if not IsMouseButtonPressed(1) then
ReleaseKey ("a")
return
end
PressKey ("a")
Sleep (200)
if not IsMouseButtonPressed(1) then
ReleaseKey ("a")
return
end
...
next all the same with sleep values only changing

繰り返しまで使いたいのですが、睡眠の値が変化しているのでできません。コードで Repeat-Until を使用できるように、スリープ値をテーブル (つまり、50、200、100、75、25、200) に保存する方法はありますか? 検索しようとしていますが、Lua は初めてです。どんな助けでも大歓迎です、ありがとう

4

1 に答える 1

1

タイムアウトの範囲をループしたいので、私は使用しませんrepeat untilが、forループを使用します。最も重要なことは、リストの終了後にすべてのタイムアウトが失敗したことを発信者に通知することです。

if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
    for _,duration in ipairs{50, 200, 100, 75, 25, 200} do
        PressKey ("a")
        Sleep (duration)
        if not IsMouseButtonPressed(1) then
            ReleaseKey ("a")
            return
        end
    end
    return "ERROR" -- You should somehow indicate timeout to the caller
end
于 2018-05-18T23:56:35.100 に答える