在此问题中,调用setXTowerLocation()时,出现一个消息框,而不是在退出消息框后调用函数getXCords()出现,在该函数中,一旦检测到其按下了getxCords(),它将连续扫描Lbutton的keyState函数返回鼠标软线的x值,然后在返回并在消息框中显示x软线之前,将其在setXTowerLocation()函数中设置为全局变量。每次我运行它时,消息框都会变成空白,我已经测试了代码的各个方面,而且它们似乎都可以单独工作,所以我认为这一定是语法错误吗?
结束消息框仅用于测试目的。在此先感谢:)
SendMode Input
Global xTowerLocation =
setXTowerLocation()
MsgBox, 0, MessageBox, %xTowerLocation%
getxCords()
{
xCord =
Loop,
{
GetKeyState, state, Lbutton
if(state = "D")
{
MouseGetPos, xx, yy
xCord := %xx%
return
}
}
return xCord
}
setXTowerLocation() {
MsgBox, 0, MessageBox, Begin?
IfMsgBox OK
xTowerLocation := getxCords()
return
}
答案 0 :(得分:1)
是的,xCord的语法错误引用到以内容命名的变量(鼠标坐标)。在getxCords()
中修复这两行,以便xCord如下保存变量xx的值:
xCord := xx
return xCord
然后在以后的xCord
(在函数末尾)没有return
。
编辑:为获得更多乐趣,请按以下步骤制作上面的xCord
行:
xCord := "x= " . xx . " , y= " . yy