使用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!

推薦閱讀: