那片叶子 发表于 2009-9-12 10:39:13

有关游戏找图等待问题

本帖最后由 那片叶子 于 2009-9-12 12:31 编辑

可不可以在界面找到一张图然后点击,这样游戏人物就跑至那张图,
看到另外一张图出现以后在点击那看见的那张,没看见就停止,等看见了在继续!

以下是找图代码,可用时间延迟来效果很不好,有时候才点一下延迟后也没反映!
不知能否像以上说的那样,等待,继续?

#include <ImageSearch.au3>

$x1=0
$y1=0
;
$result = _ImageSearch("城镇路径1.bmp",1,$x1,$y1,0)
if $result=1 Then
      MouseClick("left", $x1, $y1, 1)
EndIf

$result = _ImageSearch("城镇路径2.bmp",1,$x1,$y1,0)
if $result=1 Then
      MouseClick("left", $x1, $y1, 1)
EndIf

afan 发表于 2009-9-12 10:43:31

LZ应该使用循环吧

那片叶子 发表于 2009-9-12 11:12:54

LZ应该使用循环吧
afan 发表于 2009-9-12 10:43 http://www.autoitx.com/images/common/back.gif

对于循环还是不怎么了解!能否提示下!

那片叶子 发表于 2009-9-12 11:17:58

#include <ImageSearch.au3>

$x1=0
$y1=0
;
$result = _ImageSearch("城镇路径1.bmp",1,$x1,$y1,0)
if $result=1 Then
      MouseClick("left", $x1, $y1, 1)
EndIf

$result2 = _ImageSearch("城镇路径2.bmp",1,$x1,$y1,0)
if $result2=1 Then
      MouseClick("left", $x1, $y1, 1)
EndIf

以上代码,如果$result1不等于图片1的话就继续寻找,如果等于图片1的话则
运行$result2怎么写啊!帮帮我!

afan 发表于 2009-9-12 11:29:18

本帖最后由 afan 于 2009-9-12 11:30 编辑

把需要循环判断的代码放到一个While...Wend循环中,再加个跳出条件即可

While 1
If ...then ...
If... then ...
If ... then Exitloop
Wend

我这没ImageSearch.au3,不好测试~ 还有,是不是只用两次找图,还是继续有更多次。。。

那片叶子 发表于 2009-9-12 11:34:52

是多次找图!!

afan 发表于 2009-9-12 12:03:03

你把 ImageSearch.au3 和 相关的图片打包上来吧,我帮你修改完善好了

那片叶子 发表于 2009-9-12 12:18:20

网卡,你QQ多少,我加你!

afan 发表于 2009-9-12 12:19:14

没Q~~~~~~~ 算了,我找到了

那片叶子 发表于 2009-9-12 12:21:28

帮帮我下啦!!

afan 发表于 2009-9-12 12:26:10

本帖最后由 afan 于 2009-9-12 12:31 编辑

#include <ImageSearch.au3>

Dim $x1, $y1, $s1 = 0, $s2 = 0
While 1
        Sleep(100)
        If $s1 <> 1 Then
                $result = _ImageSearch("城镇路径1.bmp", 1, $x1, $y1, 0)
                If $result = 1 Then
                        MouseClick("left", $x1, $y1, 1)
                        $s1 = 1
                Else
                        ContinueLoop
                EndIf
        EndIf
        If $s2 <> 1 Then
                $result2 = _ImageSearch("城镇路径2.bmp", 1, $x1, $y1, 0)
                If $result2 = 1 Then
                        MouseClick("left", $x1, $y1, 1)
                        $s2 = 1
                Else
                        ContinueLoop
                EndIf
        EndIf
        ExitLoop
WEnd

那片叶子 发表于 2009-9-12 12:29:59

:face (3):厉害啊! 非常感谢啊!!!!谢谢afan了!

afan 发表于 2009-9-12 12:33:15

编辑了下,循环里加了个 Sleep(100) 避免CPU占用过高的~

那片叶子 发表于 2009-9-12 13:57:36

那这个找图能不能从屏幕左边扫描到右边啊!

afan 发表于 2009-9-12 14:02:49

不懂意思...
页: [1] 2 3
查看完整版本: 有关游戏找图等待问题