关于复杂循环的问题

时间:2010-07-13 05:42:48

标签: autohotkey

我正在AutoHotKey写一个剧本,我偶然发现了一个僵局。现在我有一个工作的GUI,涉及复选框和下拉列表。该程序是游戏的宏脚本 - 用户检查他想要在后台运行的宏,提交他的选项,程序不断评估各种条件并根据这些条件是否满足来执行命令。 每个宏的模板都是:

Loop:
PixelGetColor, color, 488, 778  ;gets pixel color of specific coordinate
if thecolor = 0x000000 ; if the color is black
{
    SendInput {Raw}f ;sends the f command to use item
    }

    else sleep 20
goto, Loop

因此宏循环,每2毫秒评估一个像素,如果满足if语句则发送输入。

问题在于: 对于用户可以检查在后台运行的每个宏,有一个不同的像素颜色精确定位,发送不同的输入,以及要评估的不同坐标。如何创建一个考虑用户复选​​框选择的无所不包的循环? 例如,如果checkBox = 1(已选中),我可能会像:

if(%Box1%=1) 
{
   Run above code
}

但是如果用户检查1和2,我也必须评估其他坐标。像这样:

if(%Box1%=1 & %Box2%=2) 
{
   Run above code
            + 
   PixelGetColor, color2, 510, 778
   if thecolor = 0x000000
   {
         Send 1
         Sleep 20000
   goto, start
 }
  else, sleep 20

我不希望有多个不同的循环一个接一个地运行,因为它太慢了,我不想做所有可能的'if'排列的大分支。 有人知道该怎么办吗?

1 个答案:

答案 0 :(得分:0)