我如何对 2 个变量使用相同的按键?(LUA)
How i use the same keypress for 2 variables?(LUA)
示例:如果我按下 M6 按钮,我的光标会转到 X 位置,如果我再次按下 M6 按钮,他会转到 Y 位置,我该如何交替?
local TOPX, TOPY, MIDX, MIDY
TOPX = 59305 -- Top side X
TOPY = 54527 -- Top side Y
MIDX = 61764 -- Mid lane X
MIDY = 58683 -- Mid lane Y
function OnEvent(event, arg)
for n = 1,2
do
if event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
MoveMouseTo(MIDX, MIDY);
for n = 2,4
do
if
event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
MoveMouseTo(TOPX, TOPY);
end
end
end
end
end
一种方法是使用一个外部标志布尔变量,它可以让您识别 M6 按钮笔划的状态。
local buttonPressedOnce = true
function onEvent(event, arg)
-- Check if the button is the one we desire.
if (event == "MOUSE_BUTTON_RELEASED" and arg == 6) then
if (buttonPressedOnce) then
-- execute X update code
else
-- execute Y update code
end
buttonPressedOnce = not(buttonPressedOnce)
end
end
说明:第一次按下将始终是 X 轴更新代码,因此我们将标志初始化为真,并且随着每次点击调用我们继续更新标志值,确保每个按钮笔划都会切换到所需的位置状态。
示例:如果我按下 M6 按钮,我的光标会转到 X 位置,如果我再次按下 M6 按钮,他会转到 Y 位置,我该如何交替?
local TOPX, TOPY, MIDX, MIDY
TOPX = 59305 -- Top side X
TOPY = 54527 -- Top side Y
MIDX = 61764 -- Mid lane X
MIDY = 58683 -- Mid lane Y
function OnEvent(event, arg)
for n = 1,2
do
if event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
MoveMouseTo(MIDX, MIDY);
for n = 2,4
do
if
event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
MoveMouseTo(TOPX, TOPY);
end
end
end
end
end
一种方法是使用一个外部标志布尔变量,它可以让您识别 M6 按钮笔划的状态。
local buttonPressedOnce = true
function onEvent(event, arg)
-- Check if the button is the one we desire.
if (event == "MOUSE_BUTTON_RELEASED" and arg == 6) then
if (buttonPressedOnce) then
-- execute X update code
else
-- execute Y update code
end
buttonPressedOnce = not(buttonPressedOnce)
end
end
说明:第一次按下将始终是 X 轴更新代码,因此我们将标志初始化为真,并且随着每次点击调用我们继续更新标志值,确保每个按钮笔划都会切换到所需的位置状态。