使用Python開發遊戲運行腳本實現模擬點擊
本文接上一篇文章 使用Python開發遊戲運行腳本(一)成功調用大漠插件
上一篇我們已經簡單實現瞭python調用大漠插件並輸出版本號的功能,接下來我們要做的就是通過大漠插件模擬鼠標點擊和鍵盤文字輸入。 由於近年來最熱門的遊戲基本都是手遊,所以我們也會以手遊為例來進行遊戲腳本的開發。大漠插件是一款針對Windows平臺的鼠標鍵盤模擬+圖文查找庫,
這樣我們要想實現手遊腳本開發的第一步,就是下載Android模擬器,然後在對安卓模擬器進行鼠標和鍵盤的模擬,以此來實現自動化遊戲腳本。
一、Android模擬器的選擇
- 目前市面上有很多Android模擬器,比如夜神模擬器、雷電模擬器、騰訊手遊助手、以及網易的木木模擬器等,這些模擬器在對手遊兼容性和大漠插件的支持方面各有各的優缺點,大傢可以根據具體的手遊自行斟酌。
- 這裡我選擇的是夜神模擬器,選擇其他的當然也沒問題,因為原理是相同的。在選擇好模擬器之後下載安裝,安裝成功之後打開夜神模擬器,會看到夜神模擬器的主頁面,這裡我已經修改瞭夜神模擬器的分辨率為【640*360 / dpi = 240】
二、使用大漠插件對具體的窗口進行綁定
對於Windows系統來說,在桌面上能看到的所有內容,其實都是一個又一個的Windows窗口,Android模擬器也不例外;按照大漠API的說明文檔,我們要實現模擬鼠標點擊和鍵盤按鍵的第一步,就是調用大漠插件的API對具體的窗口進行綁定,過程中有用到一些大漠插件的API(具體API介紹請自行查閱大漠插件的API文檔),以下是我們進行窗口綁定的代碼:
import win32com.client # 創建大漠實例對象 def createDMInstance(): dm = win32com.client.Dispatch('dm.dmsoft') # 調用大漠插件,獲取大漠對象 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)
- 調用大漠插件的API【FindWindow】找到夜神模擬器的窗口句柄,輸出窗口句柄的編號
- 調用大漠插件的API【BindWindow】對找到的窗口句柄進行綁定,並輸出綁定結果
三、進行鼠標模擬
在成功綁定窗口之後,我們就可以對窗口,也就是夜神模擬器為所欲為瞭!
這裡調用大漠插件的API【MoveTo(x, y)】把鼠標移動到具體的坐標點(整個坐標系是以安卓模擬器左上角為原點,向下向右展開),然後再調用【LeftClick()】,這樣就成功實現瞭模擬點擊。
可以看到在python運行起來的一瞬間,鼠標自行移動到瞭x=136,y=161的位置,並觸發點擊,打開瞭應用,這樣我們就初步實現瞭鼠標模擬點擊的功能。
到此這篇關於使用Python開發遊戲運行腳本實現模擬點擊的文章就介紹到這瞭,更多相關Python模擬點擊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 使用Python開發遊戲運行腳本成功調用大漠插件
- Python 自動喚醒窗口截圖腳本
- 使用 Python 實現微信消息的一鍵已讀的思路代碼
- 教你用python控制安卓手機
- python利用appium實現手機APP自動化的示例