December 27, 2008

【按鍵精靈-入門篇】找圖教學

找圖教學

[VBSCall FindPic]

VBSCall FindPic(iLeft,iTop,iRight,iBottom,szFileName,fSimil ar,ByRef FoundX,ByRef FoundY)
'這個函數用於在屏幕範圍內查找圖片
這個功能允許您在屏幕的某個區域查找指定相似度的圖片,並把找到的坐標保存在變量中

格式
VBSCall FindPic(left,top,right,bottom,filename,similar,x,y)

在區域內從左到右,從上到下找文件名為filename的bmp文件,把找到的坐標保存在變量x和y中
left,top,right,bottom都是整數或者整數型變量,說明了區域的左,上,右,下界限
filename是一個bmp格式的圖片,需要您自己抓取,最好是24位,把邊緣都設為單一的顏色(如下圖)

 

圖片放置位置:C:\Program Files\按鍵精靈\script\
similar為相似度,取0.5到1之間的小數。數值越大,對圖片的相似度要求越嚴格,速度也越快。推薦取0.9如果沒有找到圖片,則x和y的值都被置為-1

例子:

VBSCall FindPic(0,0,1023,767,"1.bmp",0.9,x,y)
If x>=0 and y>=0
    MoveTo x y
    LeftClick 1
EndIf

在區域(0,0,1023,767)中找與文件1.bmp中的圖形比較接近的地方,如果找到,則把鼠標移動到這個地方6.30版之後,找圖的文件路徑可以直接引用附件中的圖片,不需要釋放,例子

VBSCall FindPic(0,0,1023,767,"Attachment:\1.bmp",0.9,x,y)

提供你要的範例腳本如下,請參考:

Rem start
// 尋找圖片
VBSCall FindPic(0,0,1023,767,"Attachment:\QQ.bmp",0.9,x,y)
If x>=0 and y>=0
    // 有找到圖片時,按下F5
    KeyPress 116,1
    // 遲時5秒
    Delay 5000
EndIf
// 重覆找尋
Goto start

2推薦此文章
Today's Visitors: 0 Total Visitors: 50662
Personal Category: 按鍵精靈腳本教學 Topic: technology / tech info / programming
Previous in This Category: 【按鍵精靈-中級篇】簡易版釣魚   Next in This Category: 【按鍵精靈-入門篇】Step by Step 教你做第一個腳本
[Trackback URL]

Reply
1 2 Next
  • 1樓

    1樓搶頭香

    請問一下,我遇到一種狀況。
    他會抓到我指定的圖示,抓到圖示後我讓滑鼠游標移至該圖示上,但卻發
    生會偏移的狀況,還偏了蠻大的。可是在別的電腦上執行卻不會。
    這是因為 VS Script 還是什麼問題呢?
    作業系統是 Vista

  • c120953111 at April 21, 2009 08:09 PM comment | prosecute
  • 應該是Vista的問題,按鍵精靈與vista的相容性很不好

  • Blog Owner at April 29, 2009 02:04 AM Reply
  • 2樓

    2樓頸推

    不過我另外一台電腦也是 Vista... 真奇怪呢~

  • c120953111 at April 29, 2009 11:14 AM comment | prosecute
  • 3樓

    3樓坐沙發

    大大 請問一下 遊戲是3D的 找怪怎麼弄比較好啊 ?? 發現 3D的 沒辦法用找圖 !

  • 求助者 at July 8, 2009 02:49 PM comment
  • 找圖,通常是以靜態的。怪物則以找色會比較快速

  • Blog Owner at July 22, 2009 08:41 PM Reply
  • 4樓

    福樓

    VBSCall FindPic(0,0,1023,767,"1.bmp",0.9,x,y)
    If x>=0 and y>=0
    MoveTo x y
    LeftClick 1
    EndIf
    這個地方還是不懂

    0,0,1023,767

    這數據要怎找呢?!

    上下左右?!

    麻煩妳了

  • Answer1004 at October 18, 2009 02:43 PM comment | prosecute
  • 這是電腦桌布的解析度1024x768,也就是左上角座標(0,0)到右上角座標(1023,767)的範圍。

  • Blog Owner at October 18, 2009 04:19 PM Reply
  • 5樓

    專業的5樓

    大大你好: 這是開心農場 我要把東西剷除後跳出是否剷除的視窗 點剷除的指令

    VBSCall FindPic(353,389,463,482,"確定",0.9,X,Y)
    353 389 463 482 是我把圖片框起來時候的左右上下 確定是擷取圖片後命名的檔名
    If x>=0 and y>=0
    請問這裡是手動自己的的嗎
    MoveTo 373,472
    LeftClick 1
    Delay 1000
    EndIf
    請問..這樣寫有沒有錯誤ㄋ 感謝指導

  • 鏗 at November 7, 2009 10:57 PM comment
  • VBSCall FindPic(353,389,463,482,"確定",0.9,X,Y)
    353,389,463,482可以在大一點點,不要與圖片相同
    可改成350,385,470,490

    If x>=0 and y>=0改成 If x>=350 and y>=385

  • Blog Owner at November 11, 2009 11:47 AM Reply
  • 6樓

    6樓

    你好 可幫我寫幫成 幻影 程式ㄇ 我及時 m204568 謝謝喔

  • at November 11, 2009 10:28 AM comment
  • 不好意思,小弟不玩遊戲,沒辦法幫你寫腳本

  • Blog Owner at November 11, 2009 11:45 AM Reply
  • 7樓

    7樓

    你好大大:承接5樓大大的問題,我的是不剷除
    MoveTo 472,428
    Delay 2375
    LeftClick 1
    Delay 1000
    Gosub 1
    MoveTo 402,396
    Delay 1703
    LeftClick 1
    Delay 1000
    Gosub 1
    Sub 1
    VBSCall FindPic(0,0,1023,767,"Attachment:\不剷除.bmp",0.9,x,y)
    If x>=0 and y>=0
    // 有找到圖片時,關閉
    MoveTo x+50,y+110
    Delay 1000
    LeftClick 2
    Delay 1000
    EndIf
    Return 1
    問題在每鏟一塊地,就要多一行Gosub,去判別有沒有視窗,有沒有另一種辦法,不用這麼
    寫阿!!謝謝

  • at November 12, 2009 03:13 AM comment
  • 8樓

    8樓

    VBSCall FindPic(0,0,966,718,"1.bmp",1.0,x,y)
    If x>=0 and y>=0
    MoveTo 664,334
    LeftClick 1
    EndIf
    要怎樣讓他螢幕顯示圖案不同時就會停止

  • evil19910603 at February 7, 2010 08:23 PM comment | prosecute
  • 9樓

    9樓

    我想問個簡單的
    VBSCall FindPic(0,0,1023,767,"Attachment:\QQ.bmp",0.9,x,y)
    If x>=0 and y>=0
    // 有找到圖片時,按下F5
    KeyPress 116,1
    // 遲時5秒
    Delay 5000
    我想設如果沒找到~ 按另外一個鍵
    ELSE(這可以連IF用嗎?要注意什麼) .....後面要寫啥~ 我怎麼寫就是沒辦法判斷

  • 新手 at February 22, 2010 12:37 PM comment
  • VBSCall FindPic(0,0,1023,767,"Attachment:\QQ.bmp",0.9,x,y)
    If x>=0 and y>=0
    // 有找到圖片時,按下F5
    KeyPress 116,1
    // 遲時5秒
    Delay 5000
    // 沒找到圖片
    Else
    // 按另一個按鍵
    KeyPress ???,1
    EndIf

  • Blog Owner at February 22, 2010 04:36 PM Reply
  • 10樓

    10樓

    Rem start
    // 尋找圖片
    VBSCall FindPic(760,42,778,60,"9.bmp",0.9,x,y)
    If x>=0 and y>=0
    // 有找到圖片時,按下F5
    KeyPress 116,1
    // 遲時5秒
    Delay 5000
    EndIf
    // 重覆找尋
    Goto start

    我按照您的教程,人物鼠標還是無動作!
    我抓的是一個字體!背景也用透明!還是不行!
    請問該如何做!
    我是純用來找東西~沒有打怪!謝謝

  • 笨小孩 at March 28, 2010 10:42 AM comment
  • 11樓

    11樓

    你好~依照大大的腳本我是可以找到我要的圖形並正確的執行
    但現在我要問的是,找到圖執行(例:按F5),找不到圖執行(例:按F4)
    我試過修改If x>=0 and y>=0,0改1還是不行,就算整段不寫還是
    執行按F5,If x>=0 and y>=0好像是多餘的,沒有這一句還是找的
    圖,麻煩大大解惑一下囉!!

  • at March 28, 2010 12:47 PM comment
  • 12樓

    12樓

    大大可否幫我寫一下唯舞打擊模式的腳本?

  • z21012101 at April 18, 2010 06:31 AM comment | email
  • 13樓

    13樓

    大大可否幫我寫一下唯舞打擊模式的腳本
    他應該是用找圖的方法
    但我不太會= =

  • z21012101 at April 18, 2010 06:38 AM comment | email
  • 14樓

    14樓

    Sealed

  • Sealed at April 20, 2010 10:09 PM comment
  • 15樓

    15樓

    Sealed

  • Sealed at April 20, 2010 10:10 PM comment
  • 18樓

    18樓

    hi|&
    您好~祝你一切順利

  • bukoxlnqnzh at May 1, 2010 01:57 PM comment | email Homepage | prosecute
  • 19樓

    19樓

    朋友說這裡可以認識粉多朋友~

  • ucpfqknt at May 9, 2010 10:42 AM comment | email Homepage | prosecute
  • 20樓

    20樓

    請問一下 因為我寫的腳本裡 找圖 之後 還有其他動作
    我想讓它變成說 沒找到圖 不執行下一個動作
    請問這指令要怎麼打

  • lix208 at May 12, 2010 12:41 PM comment | email
  • 21樓

    21樓

    HOHO|
    推..推..謝謝分享!

  • ukcwsbh at May 15, 2010 09:49 AM comment | email Homepage | prosecute
  • 22樓

    22樓

    HI|&
    大家好

  • lnxzaw at May 17, 2010 11:00 PM comment | email Homepage | prosecute
  • 23樓

    23樓

    HI 笑一笑, 有益身體健康大家好

  • sorbtqaz at May 22, 2010 01:41 AM comment | email Homepage | prosecute
  • 24樓

    24樓

    ~~ 太感謝你的分享了~

  • ginzmwk at May 28, 2010 04:15 AM comment | email Homepage | prosecute
  • 25樓

    25樓

    ~~ 太感謝你的分享了~

  • hpnqxq at June 8, 2010 06:50 AM comment | email Homepage | prosecute
  • 27樓

    27樓

    HI 笑一笑, 有益身體健康大家好

  • ewyktnoagn at June 16, 2010 06:37 AM comment | email Homepage | prosecute
  • 29樓

    29樓

    請問能中間散開找圖嗎

  • orange at October 14, 2010 02:32 PM comment
1 2 Next
Post A Comment









Yes No



Please input the magic number:

( Prevent the annoy garbage messages )
( What if you cannot see the numbers? )
Please input the magic number

誰來收藏
Loading ...
unlog_NVPO 0