AHK if 语句未正确比较变量

AHK if statement not correctly comparing variables

这是我正在尝试做的,

第一步获取鼠标所在位置的颜色

第2步进入循环

第3步获取新鼠标位置的第二种颜色

第 4 步比较两种颜色

错误 = 无论颜色 1 或颜色 2 的输出是什么,下面的脚本都是正确的。

!^b::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
sleep, 5000
loop
{
    MouseGetPos, MouseX, MouseY
    PixelGetColor, color2, %MouseX%, %MouseY%   
    if (%color%=%color2%)
    {
        MsgBox, it matchs %color% = %color2%
        sleep,5000
    }
    else
    {
        MsgBox, It dosnt match %color% != %color2%
        sleep, 5000
    }

}   

你的问题是 if (%color%=%color2%)

一旦像这样声明了 if 语句,就不需要用 %var% 将变量括起来。相反,您可以用 if (color==color2).

替换该行

完整代码:

!^b::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
sleep, 5000
loop
{
    MouseGetPos, MouseX, MouseY
    PixelGetColor, color2, %MouseX%, %MouseY%   
    if (color==color2)
    {
        MsgBox, it matchs %color% = %color2%
        sleep,5000
    }
    else
    {
        MsgBox, It dosnt match %color% != %color2%
        sleep, 5000
    }

}