这是我的代码:
toggle:=0
z::
if GetKeyState("LButton") {
toggle:= 0
Send % "{Click Up}"
Send % "{w Up}"
Send % "{Ctrl Up}"
BlockInput, MouseMoveOff
} else {
Send % "{Click Down}"
Send % "{w Down}"
Send % "{Ctrl Down}"
BlockInput, MouseMove
toggle := 1
If (toggle := 1)
SetTimer, loop, -1
}
return
loop:
while (toogle := 1) {
MouseMove, 50, 0, R
MouseMove, -50, 0, R
Sleep, 700
}
return
按“左键单击”,“ w”和“ ctrl” 如果再次按下“ z”,则将其释放
循环应使鼠标每隔1秒左移一次,然后将同样的量向右移
但这不起作用
如果我按“ z”,循环不会停止
答案 0 :(得分:0)
:=
(docs) 用于分配表达式的结果,而不是比较值。
使用=
or ==
运算符进行比较。
或者,当您只是在检查真/假值时,
(toggle = 1)
与(toggle)
和
(toggle = 0)
与(!toggle)
相同。
您在while循环中还拼错了toggle
。
这是固定的 代码(逻辑上似乎仍然很不完善)。
但是也许当脚本错误消失后,您现在可以修复逻辑。
z::
if (GetKeyState("LButton"))
{
toggle := 0
Send % "{Click Up}"
Send % "{w Up}"
Send % "{Ctrl Up}"
BlockInput, MouseMoveOff
}
else
{
Send % "{Click Down}"
Send % "{w Down}"
Send % "{Ctrl Down}"
BlockInput, MouseMove
toggle := 1
;this check will never be false because literally right above you set the value?
if (toggle)
SetTimer, loop, -1
}
return
loop:
while (toggle)
{
MouseMove, 50, 0, R
MouseMove, -50, 0, R
Sleep, 700
}
return