本文接上一篇文章 使用Python開發(fā)游戲運(yùn)行腳本(一)成功調(diào)用大漠插件
上一篇我們已經(jīng)簡(jiǎn)單實(shí)現(xiàn)了python調(diào)用大漠插件并輸出版本號(hào)的功能,接下來我們要做的就是通過大漠插件模擬鼠標(biāo)點(diǎn)擊和鍵盤文字輸入。 由于近年來最熱門的游戲基本都是手游,所以我們也會(huì)以手游為例來進(jìn)行游戲腳本的開發(fā)。大漠插件是一款針對(duì)Windows平臺(tái)的鼠標(biāo)鍵盤模擬+圖文查找?guī)欤?br /> 這樣我們要想實(shí)現(xiàn)手游腳本開發(fā)的第一步,就是下載Android模擬器,然后在對(duì)安卓模擬器進(jìn)行鼠標(biāo)和鍵盤的模擬,以此來實(shí)現(xiàn)自動(dòng)化游戲腳本。
一、Android模擬器的選擇
- 目前市面上有很多Android模擬器,比如夜神模擬器、雷電模擬器、騰訊手游助手、以及網(wǎng)易的木木模擬器等,這些模擬器在對(duì)手游兼容性和大漠插件的支持方面各有各的優(yōu)缺點(diǎn),大家可以根據(jù)具體的手游自行斟酌。
- 這里我選擇的是夜神模擬器,選擇其他的當(dāng)然也沒問題,因?yàn)樵硎窍嗤?。在選擇好模擬器之后下載安裝,安裝成功之后打開夜神模擬器,會(huì)看到夜神模擬器的主頁面,這里我已經(jīng)修改了夜神模擬器的分辨率為【640*360 / dpi = 240】
二、使用大漠插件對(duì)具體的窗口進(jìn)行綁定
對(duì)于Windows系統(tǒng)來說,在桌面上能看到的所有內(nèi)容,其實(shí)都是一個(gè)又一個(gè)的Windows窗口,Android模擬器也不例外;按照大漠API的說明文檔,我們要實(shí)現(xiàn)模擬鼠標(biāo)點(diǎn)擊和鍵盤按鍵的第一步,就是調(diào)用大漠插件的API對(duì)具體的窗口進(jìn)行綁定,過程中有用到一些大漠插件的API(具體API介紹請(qǐng)自行查閱大漠插件的API文檔),以下是我們進(jìn)行窗口綁定的代碼:
- import win32com.client
- # 創(chuàng)建大漠實(shí)例對(duì)象
- def createDMInstance():
- dm = win32com.client.Dispatch('dm.dmsoft') # 調(diào)用大漠插件,獲取大漠對(duì)象
- print("大漠插件版本號(hào):" + dm.ver()) # 輸出版本號(hào)
- return dm
- # 查找窗口,返回找到的窗口句柄
- def findWindow(dm, windowClass, windowTitle):
- windowHandle = dm.FindWindow(windowClass, windowTitle)
- print("找到的窗口句柄 = " + str(windowHandle)) # 輸出窗口句柄ID
- return windowHandle
- # 綁定窗口
- def bindWindow(dm, windowHandle):
- isBindSuccess = dm.BindWindow(windowHandle, "normal", "normal", "normal", 0)
- print("是否綁定成功 = " + str(isBindSuccess)) # 是否綁定成功
- return isBindSuccess # 是否綁定成功
- if __name__ == '__main__':
- dm = createDMInstance()
- windowHandle = findWindow(dm, "", "夜神模擬器")
- isBindSuccess = bindWindow(dm, windowHandle)
- 調(diào)用大漠插件的API【FindWindow】找到夜神模擬器的窗口句柄,輸出窗口句柄的編號(hào)
- 調(diào)用大漠插件的API【BindWindow】對(duì)找到的窗口句柄進(jìn)行綁定,并輸出綁定結(jié)果
三、進(jìn)行鼠標(biāo)模擬
在成功綁定窗口之后,我們就可以對(duì)窗口,也就是夜神模擬器為所欲為了! 這里調(diào)用大漠插件的API【MoveTo(x, y)】把鼠標(biāo)移動(dòng)到具體的坐標(biāo)點(diǎn)(整個(gè)坐標(biāo)系是以安卓模擬器左上角為原點(diǎn),向下向右展開),然后再調(diào)用【LeftClick()】,這樣就成功實(shí)現(xiàn)了模擬點(diǎn)擊。
可以看到在python運(yùn)行起來的一瞬間,鼠標(biāo)自行移動(dòng)到了x=136,y=161的位置,并觸發(fā)點(diǎn)擊,打開了應(yīng)用,這樣我們就初步實(shí)現(xiàn)了鼠標(biāo)模擬點(diǎn)擊的功能。
到此這篇關(guān)于使用Python開發(fā)游戲運(yùn)行腳本實(shí)現(xiàn)模擬點(diǎn)擊的文章就介紹到這了,更多相關(guān)Python模擬點(diǎn)擊內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/abc6368765/article/details/121335955