Autohotkey 有人能给我解释一下这个自动热键脚本吗?

Autohotkey 有人能给我解释一下这个自动热键脚本吗?,autohotkey,Autohotkey,它应该可以让我在游戏中打开和关闭跑步按钮(而不是按住它)。它可以工作,但我想知道如何工作 $w:: Gosub, AutorunToggleME2 ~s:: Gosub, AutoRunOffME2 AutorunToggleME2: toggle := !toggle Send % "{w " . ((Toggle) ? ("down") : ("up")) . "}" return AutoRunOffME1: toggle = ; Off Send {w up} return 具体来

它应该可以让我在游戏中打开和关闭跑步按钮(而不是按住它)。它可以工作,但我想知道如何工作

$w:: Gosub, AutorunToggleME2
~s:: Gosub, AutoRunOffME2

AutorunToggleME2:
toggle := !toggle
Send % "{w " . ((Toggle) ? ("down") : ("up")) . "}"
return

AutoRunOffME1:
toggle = ; Off
Send {w up}
return
具体来说,我想了解以下几行的功能:

Send % "{w " . ((Toggle) ? ("down") : ("up")) . "}"

Send {w up}

代码假装按下了w。解释了基本的
Send
语法

按住或释放密钥:将密钥的名称用大括号括起来 后跟单词Down或Up。例如:

Send {b down}{b up} 
Send {TAB down}{TAB up} 
Send {Up down}  ; Press down the up-arrow key. 
Sleep 1000  ; Keep it down for one second. 
Send {Up up}  ; Release the up-arrow key.
所以这一行:

Send {w up}
显然是在释放w

另一行更复杂:

Send % "{w " . ((Toggle) ? ("down") : ("up")) . "}"
您可以找到相关语法的解释

基本上:

  • %
    表示以下文本是一个表达式
  • 是一个字符串连接运算符
  • 这部分是条件运算符(也称为三元运算符)。它是
    if/else
    语句的简写。在这种情况下,当
    Toggle
    为true时,它返回“down”,否则返回“up”

根据
Toggle
(真或假)

代码假装按住w的值,这会导致
发送{w down}
发送{w up}
。解释了基本的
Send
语法

按住或释放密钥:将密钥的名称用大括号括起来 后跟单词Down或Up。例如:

Send {b down}{b up} 
Send {TAB down}{TAB up} 
Send {Up down}  ; Press down the up-arrow key. 
Sleep 1000  ; Keep it down for one second. 
Send {Up up}  ; Release the up-arrow key.
所以这一行:

Send {w up}
显然是在释放w

另一行更复杂:

Send % "{w " . ((Toggle) ? ("down") : ("up")) . "}"
您可以找到相关语法的解释

基本上:

  • %
    表示以下文本是一个表达式
  • 是一个字符串连接运算符
  • 这部分是条件运算符(也称为三元运算符)。它是
    if/else
    语句的简写。在这种情况下,当
    Toggle
    为true时,它返回“down”,否则返回“up”
根据
Toggle
的值(true或false),该选项可以是
Send{w down}
Send{w up}