ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

游戏自动化怎么做到的:MAA 明日方舟助手拆解

2026/8/23 0:06:19 拓冰建站 浏览量
游戏自动化怎么做到的:MAA 明日方舟助手拆解 游戏自动化怎么做到的MAA 明日方舟助手拆解【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknightsMaaAssistantArknights下称 MAA是一款《明日方舟》自动化助手把作战、公招、基建换班、商店采购这些日常任务压缩成一次点击。它不读内存、不注入脚本而是对模拟器做截图用模板匹配加 OCR 认出当前界面再模拟点击和滑动全程不碰游戏进程。你第一次启动 Windows 版会看到分「一键长草、自动战斗、小工具、设置」四个页签的界面左侧默认勾好开始唤醒、自动公招、基建换班等十余个开关连上模拟器点「开始长草」就能跑完一整轮日常。第一次打开它装完打开第一眼看到的不是按钮而是一张任务勾选清单。左侧「一键长草」页签里是十个左右的开关开始唤醒、自动公招、基建换班、理智作战、信用收支、领取奖励……中间是作战设置用不用药剂、指定材料、候选关卡右侧是一条实时滚动的日志区公招结果、任务完成时间都带时间戳打在这里。默认行为很省心勾好开关、在设置里填好模拟器MuMu、雷电、网易游戏多开器都支持和连接方式点「开始长草」它会自己拉起游戏、关掉弹窗、按勾选项依次跑完。命令行党也可以用仓库里的 maa-clisrc/maa-cli/跑同样的任务链。MAA Windows 主界面左侧任务勾选清单、中间候选关卡设置、右侧日志区日志里能看到带时间戳的公招识别结果打开黑盒截图、识别、点击一条链路走一遍 整条核心链路只有三步拿到一张图、认出它是什么、把手指放下去。输入来自 src/MaaCore/Controller/ 里的平台控制器AdbController 走 ADB 截图MinitouchController 用 MaaFramework 的触控单元模拟点击Win32Controller 直接抓 Windows 窗口像素。处理是重头。每帧截图交给 src/MaaCore/Vision/ 下的识别器OCRer 用 resource/onnx/ 里的 ONNX 模型跑 PaddleOCR把「当前理智 60」「公招结果」这类文字抠出来Matcher 做模板匹配拿屏幕和 resource/template/ 里存的游戏界面小图比对。注意一个细节「开始行动」按钮在深色和浅色主题下长得不一样所以任务链配置里同一个界面状态往往挂着多张模板图命中任意一张就算识别成功。战斗界面识别示例同一「开始行动」按钮在两种主题下的截图说明 MAA 为单个界面状态维护多张模板输出由任务状态机驱动。resource/tasks/tasks.json 把日常拆成一条条「识别某界面 → 执行某操作 → 等待结果」的指令每条指令对应 src/MaaCore/Task/ 里一个类FightTask 打本、RecruitTask 公招、InfrastTask 基建。基类 AbstractTask 定义了 run() 主循环和 set_retry_times 重试识别失败不直接崩按配置重试若干次。输出也不只是点一下——肉鸽寻宝要先识别中间一列宝物、定位目标再向左滑一列一个任务节点内部就是一小段「识别 操作」的循环。肉鸽寻宝界面标注图识别中间列表中的目标宝物并滑动展示任务节点内部的识别→操作循环代码地图看哪四个目录就够不用通读全部源码下面四个目录覆盖了它 90% 的行为src/MaaCore/Task/状态机所在Interface/ 子目录里 18 对 cpp/h 文件一个日常动作一对文件src/MaaCore/Vision/OCR、模板匹配、特征匹配等所有眼睛src/MaaCore/Controller/ADB、触控、Win32 三套平台手resource/运行时行为的核心——tasks.json 任务链、template/ 模板图、onnx/ 模型都在这界面层在 src/MaaWpfGui/C# WPFPython、Rust、Golang 等语言绑定平铺在 src/ 下最终都调用同一个 C20 核心。跑起来编译时最容易卡住的 4 个点 官方发的是编译好的包自己编译一般是为了看源码或魔改。先 clone 仓库git clone https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights前置依赖是 CMake 3.23 和 C20 编译器OpenCV、ONNX Runtime 不要自己编译这是最大的时间坑。Windowscmake --preset windows-x64配置preset 都写在 CMakePresets.json 里之后cmake --build build。Linux先跑python tools/maadeps-download.py下载预构建第三方库绝大多数失败都是漏了这一步。配置时加-DINSTALL_RESOURCEON把 resource/ 一起装进去否则程序能跑但一张图都认不出来。Linux 完整命令4 行python tools/maadeps-download.py cmake -B build -DINSTALL_RESOURCEON -DCMAKE_TOOLCHAIN_FILEsrc/MaaUtils/MaaDeps/cmake/maa-x64-linux-toolchain.cmake cmake --build build cmake --install build --prefix /opt/maa横向对比图像识别、宏、内存注入怎么选⚖️ 游戏自动化大致三条路线MAA 选了最保守的一条维度MAA图像识别宏工具AutoHotkey 类内存读写/脚本注入工作原理截图做模板匹配 OCR再模拟输入按固定时序发送键鼠序列直接读写游戏进程内存游戏更新后更新 template/ 和 tasks.json 即可坐标变了就得重写脚本内存偏移变化基本推倒重来风险非侵入不接触游戏进程时序规律容易被检测官方打击的主要对象覆盖范围Windows/macOS/Linux模拟器或 ADB 真机基本只有 Windows跟具体进程绑死难移植一句话总结宏省事但脆注入强但险MAA 用「慢一拍」的截图换来了兼容和安全感。谁适合用、怎么参与 它适合两类人想省出每日 30 分钟的明日方舟玩家尤其模拟器用户以及想拿一个真实项目学习「图像识别 状态机 插件化」的 C 开发者。不适合没在玩方舟的人——任务链全部围绕它的界面写死也不适合需要云端批量管理几十开的场景MAA 定位是本地单机。最低门槛的参与入口先读 docs/zh-cn/develop/development.md 了解构建流程然后照着 AbstractTaskPlugin 的继承方式加一个自己的任务类这是仓库文档里推荐的最小 PR 路径。MAA 把「游戏自动化」从写死坐标的宏升级成了识别驱动的通用执行器新增功能大多只改 JSON 和模板图不动核心代码。建议你先打开 resource/tasks/tasks.json 读一读任务链的写法跑日常时遇到哪个界面识别失败就带着截图去提 issue——这是帮项目最快见效的方式。【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考