使用Python開發(fā)游戲運行腳本實現(xiàn)模擬點擊
本文接上一篇文章 使用Python開發(fā)游戲運行腳本(一)成功調(diào)用大漠插件
上一篇我們已經(jīng)簡單實現(xiàn)了python調(diào)用大漠插件并輸出版本號的功能,接下來我們要做的就是通過大漠插件模擬鼠標點擊和鍵盤文字輸入。 由于近年來最熱門的游戲基本都是手游,所以我們也會以手游為例來進行游戲腳本的開發(fā)。大漠插件是一款針對Windows平臺的鼠標鍵盤模擬+圖文查找?guī)欤?br /> 這樣我們要想實現(xiàn)手游腳本開發(fā)的第一步,就是下載Android模擬器,然后在對安卓模擬器進行鼠標和鍵盤的模擬,以此來實現(xiàn)自動化游戲腳本。
一、Android模擬器的選擇
- 目前市面上有很多Android模擬器,比如夜神模擬器、雷電模擬器、騰訊手游助手、以及網(wǎng)易的木木模擬器等,這些模擬器在對手游兼容性和大漠插件的支持方面各有各的優(yōu)缺點,大家可以根據(jù)具體的手游自行斟酌。
- 這里我選擇的是夜神模擬器,選擇其他的當然也沒問題,因為原理是相同的。在選擇好模擬器之后下載安裝,安裝成功之后打開夜神模擬器,會看到夜神模擬器的主頁面,這里我已經(jīng)修改了夜神模擬器的分辨率為【640*360 / dpi = 240】
二、使用大漠插件對具體的窗口進行綁定
對于Windows系統(tǒng)來說,在桌面上能看到的所有內(nèi)容,其實都是一個又一個的Windows窗口,Android模擬器也不例外;按照大漠API的說明文檔,我們要實現(xiàn)模擬鼠標點擊和鍵盤按鍵的第一步,就是調(diào)用大漠插件的API對具體的窗口進行綁定,過程中有用到一些大漠插件的API(具體API介紹請自行查閱大漠插件的API文檔),以下是我們進行窗口綁定的代碼:
import win32com.client # 創(chuàng)建大漠實例對象 def createDMInstance(): dm = win32com.client.Dispatch('dm.dmsoft') # 調(diào)用大漠插件,獲取大漠對象 print("大漠插件版本號:" + dm.ver()) # 輸出版本號 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】找到夜神模擬器的窗口句柄,輸出窗口句柄的編號
- 調(diào)用大漠插件的API【BindWindow】對找到的窗口句柄進行綁定,并輸出綁定結(jié)果
三、進行鼠標模擬
在成功綁定窗口之后,我們就可以對窗口,也就是夜神模擬器為所欲為了!
這里調(diào)用大漠插件的API【MoveTo(x, y)】把鼠標移動到具體的坐標點(整個坐標系是以安卓模擬器左上角為原點,向下向右展開),然后再調(diào)用【LeftClick()】,這樣就成功實現(xiàn)了模擬點擊。
可以看到在python運行起來的一瞬間,鼠標自行移動到了x=136,y=161的位置,并觸發(fā)點擊,打開了應用,這樣我們就初步實現(xiàn)了鼠標模擬點擊的功能。
到此這篇關(guān)于使用Python開發(fā)游戲運行腳本實現(xiàn)模擬點擊的文章就介紹到這了,更多相關(guān)Python模擬點擊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中關(guān)于字符串對象的一些基礎(chǔ)知識
這篇文章主要介紹了詳解Python中的字符串對象,關(guān)于字符串的操作和特性是Python學習當中的基礎(chǔ)知識,需要的朋友可以參考下2015-04-04python基于concurrent模塊實現(xiàn)多線程
這篇文章主要介紹了python基于concurrent模塊實現(xiàn)多線程,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-04-04詳解python requests中的post請求的參數(shù)問題
這篇文章主要介紹了詳解python requests中的post請求的參數(shù)問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03python數(shù)據(jù)結(jié)構(gòu)之遞歸方法講解
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之遞歸講解,遞歸是解決問題的一種方法,它將問題不斷地分成更小的子問題,直到子問題可以用普通的方法解決。通常情況下,遞歸會使用一個不停調(diào)用自己的函數(shù),下面來看看文章對此的詳細介紹吧2021-12-12pyttsx3實現(xiàn)中文文字轉(zhuǎn)語音的方法
今天小編就為大家分享一篇pyttsx3實現(xiàn)中文文字轉(zhuǎn)語音的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12