首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

挂机就可以,如何用python写游戏脚本?

有些同学可能会很好奇,线性游戏里如何写出游戏脚本或者宏,完成单调重复的动作来实现游戏自动化?这样,玩家远程挂机就可以获取收益。其实这里用到的是自动化鼠标,键盘调用程序,模块名称是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文件就可以自动化完成重复性操作了。

当然这只是一些很基础的操作,如果需要更贴合游戏场景的还需要定制化开发,但是总体思路是一样的。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OIDC-eW-iuTpCIfe2IE-SraQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券