新聞中心
想必大家都喜歡玩游戲吧,現(xiàn)在游戲市場是非?;鸨涂捎^的,不少程序員都紛紛涌入游戲公司,我們學(xué)習(xí)python其實(shí)也可以作為寫游戲腳本的,不清楚的小伙伴可以來看下了哦~

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、麗水ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的麗水網(wǎng)站制作公司
以楚留香的電腦版為例,記錄腳本的編寫之路吧。
因?yàn)橹饕螒蚨荚趙indows跑,沒什么好說的,第一步應(yīng)該是獲取窗口句柄。
在按鍵精靈幫助下,我們知道了游戲窗口句柄的類名和名字分別為"Messiah_Game",“楚留香”。
利用win32gui的函數(shù),獲取到窗口句柄,并稍微調(diào)整一下我們理想的大小。
import win32con import win32gui import win32api hwnd=win32gui.FindWindowEx(0,0,"Messiah_Game","楚留香") win32gui.SetForegroundWindow (hwnd) if(win32gui.IsIconic(hwnd)): win32gui.ShowWindow(hwnd, win32con.SW_RESTORE) win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 300,200,1200,800,win32con.SWP_SHOWWINDOW)
這樣就完成對窗口的激活和尺寸,位置設(shè)定了。
接下來我們先做一個模塊的功能,比如自動擺攤購買,因?yàn)槎擞文J胶褪钟文J綌[攤位置不同,我們首先確定為端游模式的坐標(biāo)。
自動購買第一步,首先是鼠標(biāo)能移動到‘’藏寶閣‘’圖標(biāo)上
然后我們關(guān)注我們需要搶購的東西,再拿他與我們需求的價格做對比,如果小于我們理想的價格,則讓腳本自動購買。
所以模擬鍵盤鼠標(biāo)的操作和價格識別就顯得尤為重要。以下為關(guān)注界面,每點(diǎn)擊一次關(guān)注就會刷新,似乎有點(diǎn)擊事件間隔限制。
'''我們希望腳本是在端游模式跑起來的,方便測試,先默認(rèn)一個Mode為端游模式,后期可以設(shè)置一個檢查模式功能''' Mode='端游模式' if(Mode=='端游模式'): win32api.SetCursorPos([557, 584]) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
啟動腳本后,發(fā)現(xiàn)鼠標(biāo)雖然移動成功,但是單擊命令似乎只能在游戲之外的窗口才會執(zhí)行?
為什么呢?
這是由于游戲屏蔽了系統(tǒng)API提供的模擬輸入,包括鍵盤鼠標(biāo)的模擬操作都不會生效。
看起來事情并不簡單。
那怎么辦?如果你學(xué)習(xí)也迷茫??梢匀バ【幍腜ython交流.裙 :一久武其而而流一思(數(shù)字的諧音)轉(zhuǎn)換下可以找到了,里面有最新Python教程項(xiàng)目
別急,我們可以模擬鍵盤鼠標(biāo)驅(qū)動的硬件操作。
以下理一下我們思路
目的:我們希望模擬鍵盤和鼠標(biāo)的操作。
可以使用方式或庫:
l pyinput
l autopy
l win32api
l winio
l vb類似于按鍵精靈的模式
l 前面三種已經(jīng)證明不可行,因?yàn)槎际莂pi層面的操作,一定都會被游戲系統(tǒng)屏蔽。關(guān)于第四種可以實(shí)現(xiàn)IO驅(qū)動的模擬介紹winio但是進(jìn)入github查看說明文檔發(fā)現(xiàn):也就是說,winio的python接口還不支持win10,其他語言倒是可以支持,但是我們的代碼不就前功盡棄了嗎?因此聯(lián)想到可以使用vb的按鍵精靈模式來實(shí)現(xiàn)模擬輸入。在這里我們并不是要推翻整個代碼重寫,更不是把語言換成vbscript,我們可以通過調(diào)用按鍵精靈某些插件實(shí)現(xiàn)模擬的鍵盤鼠標(biāo)輸入。今天就分析到這里,下一篇我們來講講怎么使用python調(diào)用vb腳本實(shí)現(xiàn)鍵盤鼠標(biāo)的dx游戲模擬輸入吧。
如果還想知道更多的python知識,可以到python學(xué)習(xí)網(wǎng)進(jìn)行查詢。
當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:怎么用python寫簡單的游戲腳本?
網(wǎng)站路徑:http://fisionsoft.com.cn/article/dpoojjc.html


咨詢
建站咨詢
