【发布时间】:2017-10-23 19:14:33
【问题描述】:
所以在这个游戏中我用 WASD 键移动我的角色,但是如果我同时按住 A 和 D 键时间, 游戏将其注册为向前移动(W键|),因此角色开始向前移动而不是扫射动作(左)\(右)/ 。
所以我需要一个代码来防止 A 和 D 键同时按下。
CHECK THIS GIF, SO U CAN SEE WHAT I MEAN!
我希望 A 和 D 相互覆盖(我没有使用 W 键),因为如果我同时按下 A 和D同时我的角色向前移动,不是这样\/ 我想避免向前移动。
我只想快速改变左\和右/扫射。
这是我目前得到的代码:
~a::
If (GetKeyState("d", "p"))
{
Send {d up}
d = 0
}
Return
~d::
If (GetKeyState("a", "p"))
{
Send {a up}
a = 0
}
Return
a up::
If (d)
{
Send {d down}
d = 0
}
Return
d up::
If (a)
{
Send {a down}
a = 0
}
Return
基本上这段代码几乎可以工作了。
问题是,如果我不改变数字,我就不能连续改变方向,我需要放开钥匙。它在 1 个方向改变后停止。如果我改变数字它的工作,但在几个方向改变后,它会向左或向右切换。即使我让它去左或右移动....
有什么想法吗?谢谢
【问题讨论】:
标签: autohotkey game-development