有些同学可能会很好奇,线性游戏里如何写出游戏脚本或者宏,完成单调重复的动作来实现游戏自动化?这样,玩家远程挂机就可以获取收益。其实这里用到的是自动化鼠标,键盘调用程序,模块名称是pyautogui。
pyautogui是一个Python第三方库,用于自动化GUI操作。它可以模拟鼠标和键盘的操作,以及屏幕截图和图像识别等功能。通过pyautogui,用户可以编写脚本来自动化一些重复性的任务,例如自动化测试、数据录入、图像处理等。
pyautogui支持跨平台,可以在Windows、macOS和Linux等操作系统上运行。它还提供了丰富的API,包括鼠标和键盘操作、屏幕截图、图像识别、定时器等功能,可以满足大部分自动化需求。
写一个简单的示例程序,实现鼠标定位在屏幕中央和点击的效果:
import pyautoguipyautogui.moveTo(pyautogui.size().width / 2,pyautogui.size().height / 2)pyautogui.click()
和以前一样,需要在终端里下载模块:pip install pyautogui
程序源码如下:
import pyautoguiimport time
# 设置绘图区域的大小和位置x, y = 150, 150width, height = 500, 500
# 设置绘制的图形的颜色和线条宽度color = 'blue'thickness = 5
# 获取屏幕的大小screenWidth, screenHeight = pyautogui.size()
# 点击屏幕上的指定位置打开绘图软件pyautogui.click(x, y)
# 等待绘图软件加载完成time.sleep(1)
# 将鼠标移动到绘图区域的左上角pyautogui.moveTo(x, y)
# 按下鼠标左键并拖动到绘图区域的右上角pyautogui.dragTo(x + width, y, duration=0.5, button='left')
# 拖动到绘图区域的右下角pyautogui.dragTo(x + width, y + height, duration=0.5, button='left')
# 拖动到绘图区域的左下角pyautogui.dragTo(x, y + height, duration=0.5, button='left')
# 拖动回绘图区域的左上角,形成一个闭合图形pyautogui.dragTo(x, y, duration=0.5, button='left')
我们运行试一下效果,实现鼠标定位和拖拽效果,具有条件的同学可以尝试一下。
再写一个键盘调用的程序:
import pyautoguiimport time
# 打开记事本应用程序pyautogui.hotkey('win', 'r')pyautogui.typewrite('notepad')pyautogui.press('enter')
# 等待记事本应用程序打开time.sleep(2)
# 打出英文名言,记得将输入法切换为英文。pyautogui.typewrite('To be, or not to be: that is the question.\nAsk not what your country can do for you, \nask what you can do for your country.\nI am the master of my fate,\n I am the captain of my soul.\n')
# 保存文件pyautogui.hotkey('ctrl', 's')time.sleep(2)pyautogui.typewrite('test')pyautogui.press('enter')
# 关闭记事本应用程序pyautogui.hotkey('alt', 'f4')
不知道什么原因会有卡顿,可能是录屏软件的原因,动了下鼠标就继续写了。按照之前写的教程用pyinstaller打包成一个exe文件就可以自动化完成重复性操作了。
当然这只是一些很基础的操作,如果需要更贴合游戏场景的还需要定制化开发,但是总体思路是一样的。
领取专属 10元无门槛券
私享最新 技术干货