按键精灵 多项条件if,else if的求助

我想写一个无限找多个图并点击的脚本,其中一段不知道怎么改,高分求助!

While i = 10
LeftClick 1
Delay 300

If FindPic 0, 0, 1024, 768, "Attachment:\search.bmp", 1, intX, intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
ElseIf FindPic 0,0,1024,768,"Attachment:\continue.bmp",0.4,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
ElseIf FindPic 0,0,1024,768,"Attachment:\mix.bmp",0.4,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
ElseIf FindPic 0,0,1024,768,"Attachment:\communicate.bmp",1,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
ElseIf FindPic 0,0,1024,768,"Attachment:\gobackstory.bmp",1,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
Elseif FindPic 0,0,1024,768,"Attachment:\enermy.bmp",1,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
Elseif FindPic 0,0,1024,768,"Attachment:\fight.bmp",1,intX,intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
Else
Delay 300
i = 10
End If
Wend

If FindPic 0, 0, 1024, 768, "Attachment:\search.bmp", 1, intX, intY
and intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
=========
改为
FindPic 0, 0, 1024, 768, "Attachment:\search.bmp", 1, intX, intY
if intX > 0 and intY > 0
Then MoveTo intX, intY
LeftClick 1
Delay 500
i = 10
end if
把后面的句都都按这种思路改,不用if来选,只要排着运行下去,找不到的自然不会有效果。
自己想的,未必最好,供参考。追问

但是这样不会就变成只找第一张图片吗?
我想要他找不到第一张就找第二张,第二张找不到就找第三张,所有图片都没有找到就单击左键一次然后重新开始找

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-06
Dim 图(6)
图(0)="Attachment:\search.bmp"
图(1)="Attachment:\continue.bmp"
图(2)="Attachment:\mix.bmp"
图(3)="Attachment:\communicate.bmp"
图(4)="Attachment:\gobackstory.bmp"
图(5)="Attachment:\enermy.bmp"
图(6)="Attachment:\fight.bmp"
Do
LeftClick 1
Delay 300
For n = 0 To UBound(图)
If n = 1 or n = 2 Then
a = 0.4
Else
a=1
End If
FindPic 0,0,1024,768,图(n),a,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
Delay 500
End If
Delay 300
Next
Loop追问

是对的,能告诉我一下这段是什么意思吗?
For n = 0 To UBound(图)
If n = 1 or n = 2 Then
a = 0.4
Else
a=1

追答

For n = 0 To UBound(图)
循环,并给N赋值,从0到数组最大下标.也就是循环7次,循环的同时n的值每循环完一次自加1.
If n = 1 or n = 2 Then
a = 0.4
Else
a=1
当n=1或者2的时候,a=0.4,否则a=1
a是代替下面找图相似度的变量.我看到你的代码里,第2次和第3次找图相似度为0.4才加的这句.

本回答被提问者采纳
相似回答