怎麼用python寫簡單的遊戲指令碼?
想必大家都喜歡玩遊戲吧,現在遊戲市場是非常火爆和可觀的,不少程式設計師都紛紛湧入遊戲公司,我們學習python其實也可以作為寫遊戲指令碼的,不清楚的小夥伴可以來看下了哦~
以楚留香的電腦版為例,記錄指令碼的編寫之路吧。
因為主要遊戲都在windows跑,沒什麼好說的,第一步應該是獲取視窗控制程式碼。
在按鍵精靈幫助下,我們知道了遊戲視窗控制程式碼的類名和名字分別為"Messiah_Game",“楚留香”。
利用win32gui的函式,獲取到視窗控制程式碼,並稍微調整一下我們理想的大小。
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)
這樣就完成對視窗的啟用和尺寸,位置設定了。
接下來我們先做一個模組的功能,比如自動擺攤購買,因為端遊模式和手遊模式擺攤位置不同,我們首先確定為端遊模式的座標。
自動購買第一步,首先是滑鼠能移動到‘’藏寶閣‘’圖示上
然後我們關注我們需要搶購的東西,再拿他與我們需求的價格做對比,如果小於我們理想的價格,則讓指令碼自動購買。
所以模擬鍵盤滑鼠的操作和價格識別就顯得尤為重要。以下為關注介面,每點選一次關注就會重新整理,似乎有點選事件間隔限制。
'''我們希望指令碼是在端遊模式跑起來的,方便測試,先預設一個Mode為端遊模式,後期可以設定一個檢查模式功能''' Mode='端遊模式' if(Mode=='端遊模式'): win32api.SetCursorPos([557, 584]) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
啟動指令碼後,發現滑鼠雖然移動成功,但是單擊命令似乎只能在遊戲之外的視窗才會執行?
為什麼呢?
這是由於遊戲遮蔽了系統API提供的模擬輸入,包括鍵盤滑鼠的模擬操作都不會生效。
看起來事情並不簡單。
那怎麼辦?如果你學習也迷茫。可以去小編的Python交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,裡面有最新Python教程專案
別急,我們可以模擬鍵盤滑鼠驅動的硬體操作。
以下理一下我們思路
目的:我們希望模擬鍵盤和滑鼠的操作。
可以使用方式或庫:
l pyinput
l autopy
l win32api
l winio
l vb類似於按鍵精靈的模式
l 前面三種已經證明不可行,因為都是api層面的操作,一定都會被遊戲系統遮蔽。關於第四種可以實現IO驅動的模擬介紹winio但是進入github檢視說明文件發現:也就是說,winio的python介面還不支援win10,其他語言倒是可以支援,但是我們的程式碼不就前功盡棄了嗎?因此聯想到可以使用vb的按鍵精靈模式來實現模擬輸入。在這裡我們並不是要推翻整個程式碼重寫,更不是把語言換成vbscript,我們可以透過呼叫按鍵精靈某些外掛實現模擬的鍵盤滑鼠輸入。今天就分析到這裡,下一篇我們來講講怎麼使用python呼叫vb指令碼實現鍵盤滑鼠的dx遊戲模擬輸入吧。
如果還想知道更多的python知識,可以到進行查詢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/506/viewspace-2832369/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python手機版做小遊戲程式碼大全-python簡單小遊戲程式碼 怎麼用Python製作簡單小遊戲...Python遊戲
- Python Plumbum 簡介:用 Python 來寫指令碼Python指令碼
- python指令碼開頭怎麼寫Python指令碼
- 用Python做遊戲有多簡單?Python遊戲
- python簡介怎麼寫-python爬蟲簡歷怎麼寫Python爬蟲
- 怎麼停止python指令碼Python指令碼
- [Python] 用python做一個遊戲輔助指令碼,完整思路Python遊戲指令碼
- 利用 Powershell 編寫簡單的瀏覽器指令碼瀏覽器指令碼
- python簡單遊戲-反彈球Python遊戲
- 一步步教你怎麼用python寫貪吃蛇遊戲Python遊戲
- 基於python編寫一個簡單的多執行緒埠掃描指令碼Python執行緒指令碼
- python實現簡單猜單詞遊戲Python遊戲
- 手把手教你編寫最簡單的效能指令碼指令碼
- python指令碼實現開心消消樂的遊戲Python指令碼遊戲
- 用three.js寫一個簡單的3D射門遊戲JS3D遊戲
- 為什麼寫爬蟲用Python語言?原因很簡單!爬蟲Python
- 用unity製作簡單的太空遊戲(2)-簡單炮臺Unity遊戲
- 用Python寫個魂鬥羅,另附30個Python小遊戲原始碼Python遊戲原始碼
- python讀寫excel檔案簡單應用PythonExcel
- 用python寫小遊戲,沒有學過python的也會這個打程式碼Python遊戲
- 【python小練習】簡單的猜數字遊戲Python遊戲
- 用python寫一個自動化盲註指令碼Python指令碼
- 一日一技:用Python做遊戲有多簡單Python遊戲
- linuxshell程式設計實戰-編寫簡單的指令碼實用工具Linux程式設計指令碼
- 簡單的 Shell 指令碼入門教程指令碼
- redis中lua指令碼的簡單使用Redis指令碼
- Python單例的一種簡單寫法Python單例
- 2 個簡單的 python 指令碼,連線 MySQL 和讀取 ExcelPython指令碼MySqlExcel
- MySQL密碼加密認證的簡單指令碼MySql密碼加密指令碼
- 發一個自己寫的簡單32位遊戲保護遊戲
- 想要應聘遊戲策劃,你知道簡歷要怎麼寫嗎?遊戲
- 用 JavaScript 實現簡單拼圖遊戲JavaScript遊戲
- 小白也能操作Linux,十分鐘教你簡單的shell指令碼編寫邊學邊用Linux指令碼
- python寫的指令碼在kail Linux 執行Python指令碼AILinux
- epic遊戲怎麼轉到steam epic遊戲怎麼用steam開啟遊戲
- 你用過不寫程式碼就能完成一個簡單模組的元件麼?元件
- 測試平臺系列(95) 前置條件支援簡單的python指令碼Python指令碼
- 簡單的快捷指令