爆笑,打地鼠的极限,PyAutoGUI的开始~

游戏地址:www.4399.com/flash/17803...

视频教程地址:www.bilibili.com/video/BV1gm...

介绍

当提到自动化控制鼠标和键盘的Python库时,pyautogui是一个不可忽视的工具。它为用户提供了简单而强大的功能,使得编写自动化脚本变得轻而易举。在本文中,我将向大家介绍如何使用pyautogui编写一个简单而有趣的打地鼠脚本。

首先,让我们来了解一下pyautogui的基本概念。pyautogui是一个跨平台的库,允许我们模拟鼠标和键盘的操作,如移动鼠标、点击和拖动等。它可以用于各种自动化任务,包括测试、GUI交互和游戏脚本等。

思路

我们首先需要安装pyautogui库。可以通过在命令行中运行以下命令来安装:

复制代码
pip install pyautogui

安装完成后,我们可以开始编写我们的打地鼠脚本。

我们首先导入pyautogui库,并设置一些全局变量。设置FAILSAFE变量为True,使得程序可以根据鼠标位置来中断。设置PAUSE变量为0.05,以便每个自动化操作之间有一个短暂的延迟。这些设置可以帮助我们更好地控制自动化脚本的执行。

接下来,我们使用一个无限循环来不断寻找屏幕上的目标图像。使用pyautogui的locateAllOnScreen函数,我们可以查找与给定图像(在本例中为'img.png')匹配的所有位置。我们还可以指定一个置信度参数,以控制匹配的严格程度。

如果我们找到了目标图像的位置,我们可以遍历所有匹配的位置,并使用click函数点击每个位置的中心点。这将模拟鼠标点击操作,就像我们真正点击了那个位置一样。

在点击地鼠后,我们打印一条消息来确认我们发现了地鼠。然后,我们将鼠标移动到指定位置(在本例中为(300, 300)),以便进行下一次的寻找。

这就是整个打地鼠脚本的基本步骤。您可以根据自己的需求进行修改和扩展,例如添加计分或计时器等功能来增加游戏的乐趣。

具体代码如下:

python 复制代码
# 导入pyautogui库,用于自动化控制鼠标和键盘
import pyautogui

# 开启安全模式,使根据鼠标位置来中断程序的功能生效
pyautogui.FAILSAFE = True
# 设置每个自动化操作的延迟时间,以降低操作速度
pyautogui.PAUSE = 0.05

# 无限循环
while True:
    # 在屏幕上查找所有与给定图像匹配的位置
    # 注意:要使用confidence参数需要安装三方库:opencv-python
    tars = list(pyautogui.locateAllOnScreen('img.png', confidence=0.8))
    # 如果存在匹配的位置
    if tars:
        # 遍历所有匹配的位置
        for i in tars:
            # 点击该位置的中心点
            pyautogui.click(pyautogui.center(i))
            # 打印提示信息
            print('发现地鼠了~')
            # 将鼠标移动到指定位置
            # 为什么要移动到指定的位置?因为防止前后地鼠出现位置一样,这样锤子挡住了地鼠,就会识别不到这个地鼠
            pyautogui.moveTo(300, 300)

总结

编写一个简单的打地鼠脚本只是pyautogui的众多可能用途之一。无论是自动化测试、GUI交互还是游戏脚本,pyautogui都可以为您提供简单而强大的工具。因此,如果您还没有尝试过pyautogui,我强烈建议您开始使用它,并发现它在自动化和自动化任务中的巨大潜力。

相关推荐
HappRobot8 分钟前
python类和对象
开发语言·python
盼哥PyAI实验室21 分钟前
Python YAML配置管理:12306项目的灵活配置方案
开发语言·python
Github掘金计划1 小时前
开发者狂喜!GitHub 官方开源:支持 Copilot/Cursor,规范即代码,27k Star 封神!
java·python·kafka·github·copilot
shenzhenNBA1 小时前
python用openpyxl操作excel-单元格样式操作
python·excel·openpyxl·单元格样式
岁月宁静1 小时前
多模态 Agent 技术全景解析 — 从模型能力、Agent 架构到工程化与商业落地
python·agent
试着1 小时前
【VSCode+AI+测试】连接ai大模型
ide·人工智能·vscode·python·学习·编辑器·ai-test
零小陈上(shouhou6668889)1 小时前
YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)
开发语言·python·yolo
znhy_231 小时前
day36打卡
python
gf13211112 小时前
python_字幕文本、音频、视频一键组合
python·音视频·swift
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 32--开源电商商城系统项目实战--如何区分登录状态
python·学习·测试工具·pytest