按鍵精靈怎么后臺(tái)按鍵?大家可以通過下文來了解按鍵精靈后臺(tái)按鍵制作方法,很多朋友希望能夠使用按鍵精靈“找后臺(tái)”,那么具體步驟是什么呢?請(qǐng)看下文介紹吧,希望對(duì)大家有幫助哦~
1、游戲句柄
后臺(tái)的意思就是當(dāng)窗口被遮蓋或移開的時(shí)候,仍能夠正常的執(zhí)行腳本動(dòng)作,所以必須先找到該游戲的窗口句柄,這樣可以保證我們編輯的腳本語句有正確的使用方向,獲取窗口句柄的方法有很多,我一般使用以下的方法:
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin是調(diào)用插件命令,凡是調(diào)用插件都需要使用這個(gè)命令,hwnd就是得到的句柄,Window是插件的名稱MousePoint()返回鼠標(biāo)所在的窗口的句柄
關(guān)于窗口這里需要多說幾句,以網(wǎng)頁游戲?yàn)槔髽?biāo)放在標(biāo)題欄上和放在游戲窗口所得到的句柄是不一樣的,游戲窗口是IE的一個(gè)子窗口,因此在運(yùn)行腳本前,將你的鼠標(biāo)放在游戲窗口的區(qū)域內(nèi)再運(yùn)行腳本。
得到句柄費(fèi)函數(shù)很多,有興趣的自己去試試看,不過知道一個(gè)就足夠了。
2、模擬動(dòng)作
得到窗口句柄后,你就可以向這個(gè)窗口模擬需要的動(dòng)作了,在這里要用到按鍵精靈7的插件(既然已經(jīng)有7了以前的插件就不作介紹了),模擬動(dòng)作的函數(shù)有如下幾個(gè)
-模擬鼠標(biāo)點(diǎn)擊
Plugin Bkgnd.LeftClick(句柄,橫坐標(biāo),縱坐標(biāo)) //模擬鼠標(biāo)左鍵點(diǎn)擊
Plugin Bkgnd.RightClick(句柄,橫坐標(biāo),縱坐標(biāo)) //模擬鼠標(biāo)右鍵點(diǎn)擊
其中的句柄就是上面我們已經(jīng)得到的句柄,這里的橫坐標(biāo)和縱坐標(biāo)是針對(duì)游戲窗口,而不是針對(duì)屏幕的(看暈了吧^_^關(guān)于這一點(diǎn)足足困擾了我一個(gè)禮拜的時(shí)間才弄明白)。
屏幕坐標(biāo),是以屏幕左上角為基點(diǎn)(0,0),右下角的坐標(biāo)是和屏幕分辨率有關(guān)的,而窗口坐標(biāo),不是在屏幕的左上角,例如word中的編輯窗口的0,0位置是在工具欄下面的,看不懂也沒關(guān)系,你只要記住下面的方法就行了,首先在得到窗口句柄后加上如下的代碼:
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)
其次,在橫坐標(biāo)和縱坐標(biāo)的后面都分別減去dx和dy就行了,為什么!!不用去管他,反正這樣做不會(huì)錯(cuò),舉例說明
例如你抓點(diǎn)得到的橫坐標(biāo)是x,縱坐標(biāo)是y,那么模擬鼠標(biāo)左鍵點(diǎn)擊的語句應(yīng)該是這樣的:
Plugin Bkgnd.LeftClick(句柄x-dx,y-dy)
-模擬鍵盤動(dòng)作
Plugin Bkgnd.KeyPress(句柄,按鍵碼) //模擬鍵盤動(dòng)作
這里的按鍵碼可以很容易的在按鍵精靈中查到,包括組合鍵
-輸入字符串
Plugin Window.SendString(句柄,字符串)
這個(gè)函數(shù)在登陸和喊話時(shí)是非常有用的,其中的字符串可以是字符串變量
3、后臺(tái)找色
后臺(tái)腳本盡量少用找色語句,否則你的游戲?qū)?ldquo;卡巴死機(jī)”,即使少用也會(huì)出現(xiàn)很多的“馬賽克”幸運(yùn)的是不影響找色功能,即使游戲圖像已經(jīng)亂七八糟,既然是要后臺(tái)操作,難看就難看吧^_^。
Plugin c1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)
強(qiáng)烈建議用這個(gè)函數(shù),至于什么區(qū)域找色,區(qū)域照?qǐng)D之類,如果你的電腦速度足夠快再去嘗試吧。
找色是有技巧的,一定要找到一個(gè)不同畫面分別對(duì)應(yīng)不同顏色的點(diǎn),當(dāng)然只有一個(gè)點(diǎn)是不可靠的。我的思路是,找到幾個(gè)點(diǎn)的顏色值記錄下來,再根據(jù)這幾個(gè)點(diǎn)的不同組合來決定腳本的走向,采取這種方法后,我在游戲時(shí)已經(jīng)基本可以看到大體的畫面了。
附一個(gè)網(wǎng)頁游戲《明朝時(shí)代》61級(jí)刷鐵礦的簡(jiǎn)單例子(我就用的這個(gè)腳本:)):
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)
vx = 655-dx
vy = 336-dy
vx1 = 638-dx
vy1 = 305-dy
For 1000
Delay 156
Delay 16
Plugin Bkgnd.LeftClick(hwnd,vx,vy)
Delay 7000
Delay 500
Plugin Bkgnd.LeftClick(hwnd,vx1,vy1)
Delay 1000
EndFor
Rem
最新資訊
關(guān)于我們 廣告服務(wù) 手機(jī)版 投訴文章:435 226 40@qq.com
Copyright (C) 1999-2020 www.tkjt8.cn 愛好者日?qǐng)?bào)網(wǎng) 版權(quán)所有 聯(lián)系網(wǎng)站:435 226 40@qq.com