按键精灵吧 关注:499,918贴子:1,020,352
  • 30回复贴,共1

关于区域性找多图的问题第二问

只看楼主收藏回复

各位小伙伴们and大神们,大家好,上次我在这发了一个贴,询问一下关于区域找多图的问题,其中贴吧里面不少大神都很热心的为我解答了一下,但是由于本宝宝貌似天生愚钝,所以并没有很好地解决这个问题,我先简要说一下我的问题:首先是按left键来刷图片,然后刷图片时候不只是一些图片,有时候会跳出一些广告,这时候就需要按esc键退出广告书图片了,但是广告的样式有五六种,所以我必须能够识别出那几种广告来达到返回的目的,从而继续刷图片,大致流程就是这样,下面是我根据吧友然后自己写的一个脚本源码,希望各位小伙伴大神们能够不吝赐教,多多指点:
Dim intX,intY
For 1
FindPic 0,0,1024,768,"F:\1.bmp",0.5,intX,intY
If intX > 0 And intY > 0 Then
KeyPress "Esc", 1
Delay 100
Else
KeyPress "Left", 1
Delay 100
Exit For
End If
FindPic 0,0,1024,768,"F:\2.bmp",0.5,intX,intY
If intX > 0 And intY > 0 Then
KeyPress "Esc", 1
Delay 100
Else
KeyPress "Left", 1
Delay 100
Exit For
End If
FindPic 0,0,1024,768,"F:\3.bmp",0.5,intX,intY
If intX > 0 And intY > 0 Then
KeyPress "Esc", 1
Delay 100
Else
KeyPress "Left", 1
Delay 100
Exit For
End If
FindPic 0,0,1024,768,"F:\4.bmp",0.5,intX,intY
If intX > 0 And intY > 0 Then
KeyPress "Esc", 1
Delay 100
Else
KeyPress "Left", 1
Delay 100
Exit For
End If
FindPic 0,0,1024,768,"F:\5.bmp",0.5,intX,intY
If intX > 0 And intY > 0 Then
KeyPress "Esc", 1
Delay 100
Else
KeyPress "Left", 1
Delay 100
Exit For
End If
Next
If intX > 0 Then
//找到了一张图后执行的代码
Else
//没找到图时执行的代码
End If
,最后谢谢大家能够帮助我,好人一生平安,各位万事如意,么么哒


IP属地:上海1楼2016-05-30 10:23回复
    上个页面图才好解释


    IP属地:广东来自Android客户端2楼2016-05-30 11:39
    收起回复
      能正常运行了嘛?


      IP属地:四川来自Android客户端3楼2016-05-30 11:46
      收起回复
        你干嘛要找广告的图,你就找你需要的图,没找到就刷图片,而且0.5肯定不成功


        来自Android客户端5楼2016-05-30 17:16
        收起回复
          有没有人啊?


          IP属地:上海来自Android客户端6楼2016-05-30 21:55
          回复
            大神,我们做朋友吧


            IP属地:广东来自iPhone客户端8楼2016-06-02 01:19
            回复
              你这个做的是什么东西,是不是找到广告就关闭广告,一个广告也找不到才执行另外的代码?


              IP属地:广东来自iPhone客户端9楼2016-06-02 01:27
              回复
                5楼的思路说的很明白了,楼主你要的不是点广告,而是要去掉广告后点击你要点的东西。那么就有两种思路可以达到这个操作。一种是像你一样,把所有广告都认出来,然后关闭。这么写代码的话,得写的非常繁琐才能达到滴水不漏的做到。
                但还有一种思路,就是如果广告出现的时候,遮住了我想要点击的东西,或者是某个图片的话,我只需要找广告遮住位置的图片即可,只要找不到这个图片就说明出现广告了,那我就刷新一下,再次寻找,直到我找到图片,再点击。


                来自Android客户端10楼2016-06-02 01:38
                回复
                  我看明白你说的意思了,原来要通过点击鼠标来刷图。那就用不上第二个思路了。
                  我先说说你源码的问题吧,利用for和if进行循环判断容易出错,而且不好判断是哪儿出的错,初步目测是因为delay值太低,或者是你中间的exit for语句用的不恰当导致找图太快,图还没出现判断已经过去了。导致在不该停止的时候停止了。
                  像你这种需要连续判断的最好用if
                  elseif
                  进行。
                  下楼我试着该了一下,你参考一下。


                  来自Android客户端11楼2016-06-02 01:50
                  回复
                    Rem 搜图
                    FindPic 0, 0, 1024, 768, "F:\1.bmp", 0.5, intX1, intY1
                    FindPic 0, 0, 1024, 768, "F:\2.bmp", 0.5, intX2, intY2
                    FindPic 0, 0, 1024, 768, "F:\3.bmp", 0.5, intX3, intY3
                    FindPic 0, 0, 1024, 768, "F:\4.bmp", 0.5, intX4, intY4
                    FindPic 0, 0, 1024, 768, "F:\5.bmp", 0.5, intX5, intY5
                    If intX1 > 0 And intY1 > 0 Then '如果发现图片则按esc键,取消图片
                    Delay 100
                    KeyPress "Esc", 1
                    Delay 100
                    Goto 搜图'如果找到图1了,会返回标记搜图出,重新搜一遍,防止esc没有取消图片
                    ElseIf intX2 > 0 And intY2 > 0 Then'没找到图1,则开始判断是否是图2,下同
                    Delay 100
                    KeyPress "Esc", 1
                    Delay 100
                    Goto 搜图
                    ElseIf intX3 > 0 And intY3 > 0 Then
                    Delay 100
                    KeyPress "Esc", 1
                    Delay 100
                    Goto 搜图
                    ElseIf intX4 > 0 And intY4> 0 Then
                    Delay 100
                    KeyPress "Esc", 1
                    Delay 100
                    Goto 搜图
                    ElseIf intX5 > 0 And intY5 > 0 Then
                    Delay 100
                    KeyPress "Esc", 1
                    Delay 100
                    Goto 搜图
                    Else '到此为止,可以确定没有前5副图,放心的点击图片吧
                    Delay 100
                    KeyPress "Left", 1
                    Delay 100
                    End If


                    12楼2016-06-02 02:01
                    收起回复
                      其实还有一种简化思维,就是找到广告上共同的部分,例如右上角的×,或者是边框的颜色之类。
                      只要判断一种情况即可。
                      具体情况需要具体分析,楼主要是能上几幅图片,就更容易说明了。


                      13楼2016-06-02 02:06
                      收起回复