抖音弹幕游戏开发之第9集:pyautogui进阶 - 模拟鼠标操作·优雅草云桧·卓伊凡

《抖音弹幕游戏开发专栏》是优雅草建立的专栏,由优雅草资深开发工程师云桂提供实战教学配对发布有对应的视频教程,以下内容为技术文稿,卓伊凡辅助。
抖音弹幕游戏开发之第9集:pyautogui进阶 - 模拟鼠标操作·优雅草云桧·卓伊凡

第9集:pyautogui进阶 - 模拟鼠标操作

获取鼠标位置和屏幕尺寸

复制代码
import pyautogui
import time

pyautogui.FAILSAFE = True

# 获取鼠标位置
x, y = pyautogui.position()
print(f"鼠标当前位置: X={x}, Y={y}")

# 获取屏幕尺寸
width, height = pyautogui.size()
print(f"屏幕尺寸: {width} x {height}")

屏幕坐标系:左上角是(0, 0),向右x增大,向下y增大。

移动鼠标

绝对位置移动

复制代码
pyautogui.moveTo(500, 300, duration=1)  # 移动到(500, 300),耗时1秒

相对位置移动

复制代码
pyautogui.moveRel(200, 0, duration=0.5)   # 向右移动200像素
pyautogui.moveRel(0, 100, duration=0.5)   # 向下移动100像素
pyautogui.moveRel(-200, 0, duration=0.5)  # 向左移动200像素

鼠标点击

复制代码
pyautogui.click()           # 左键单击
pyautogui.rightClick()      # 右键单击
pyautogui.middleClick()     # 中键单击
pyautogui.doubleClick()     # 双击
pyautogui.click(500, 300)   # 在指定位置点击

鼠标拖拽和滚轮

复制代码
# 拖拽(按住左键移动)
pyautogui.drag(200, 100, duration=1)

# 滚轮
pyautogui.scroll(3)   # 向上滚动
pyautogui.scroll(-3)  # 向下滚动

游戏中的应用:视角旋转

复制代码
# 模拟游戏视角左右转动
for _ in range(5):
    pyautogui.moveRel(100, 0, duration=0.1)   # 向右
    pyautogui.moveRel(-100, 0, duration=0.1)  # 向左

键盘鼠标组合

复制代码
# 按住Shift并移动鼠标
pyautogui.keyDown('shift')
pyautogui.moveRel(100, 0, duration=0.5)
pyautogui.keyUp('shift')

# 按W前进的同时转动视角
pyautogui.keyDown('w')
pyautogui.moveRel(200, 0, duration=1)
pyautogui.keyUp('w')

注意事项

|------------|-------------------|
| 注意点 | 说明 |
| duration参数 | 控制移动速度,建议0.1-1秒 |
| 坐标系统 | 不同分辨率坐标不同,相对移动更灵活 |
| 游戏兼容性 | 移动太快可能被识别为外挂 |

本集总结

  • ✅ 获取鼠标位置和屏幕尺寸
  • ✅ moveTo和moveRel移动鼠标
  • ✅ click、rightClick等点击操作
  • ✅ drag拖拽和scroll滚轮操作
  • ✅ 键盘鼠标组合使用

下一集:整合 - 弹幕触发键盘操作

相关推荐
CarIise4 小时前
Maven依赖传递与聚合工程
python·r语言·django
VidDown13 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
死磕音视频15 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林15 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
pride.li17 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook17 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python
顽疲17 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
康小旺17 小时前
把 markitdown 做成 Windows 桌面版:拖进文档就出 Markdown,附 233MB→64MB 打包裁剪全过程
python
Wang's Blog17 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
启观川18 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法