SuperAPI AI 工具集

uloop-simulate-mouse-ui

智能体与模型

查看项目

更新于 10-16 05:50

技能介绍

用途:在 Unity PlayMode 下模拟 UI 鼠标交互,支持点击、长按与拖拽,常用于依据带标注截图执行 UI 操作并验证状态变化。

主要能力:通过 uloop simulate-mouse-ui 提供 Click(PointerDown→PointerUp→PointerClick)、LongPress(按住 --duration 秒后释放,不触发 PointerClick)、Drag(一次性从 --from-x/--from-y 到 --x/--y)、DragStart/DragMove/DragEnd(分步拖拽,DragStart 必须先于 DragMove/DragEnd,结束时必须调用 DragEnd,否则拖拽状态卡住)。支持 --button 选择按键(Click/LongPress 支持 Left/Right/Middle,拖拽仅 Left),--drag-speed 控制拖拽速度(默认 2000,0 为瞬时)。

使用方式:先确保 PlayMode,若未进入可用 uloop control-play-mode --action Play;用 uloop screenshot --capture-mode rendering --annotate-elements --elements-only 获取标注元素,按 Path 或 Name 定位目标,取 SimX/SimY 作为 --x/--y。坐标系原点为左上角,单位为屏幕像素。若存在遮挡可用 --bypass-raycast 配合 --target-path 直接派发指针事件,拖拽可加 --drop-target-path。执行后用运行时状态、日志或截图验证。

适用场景:Unity PlayMode 中的 UI 点击、长按、拖拽自动化与端到端验证;需要帧级证据时可结合 uloop-pause-point 技能,并注意 InterruptedByPausePoint 时需先读 Message 判断指针事件是否已派发。

限制:需处于 PlayMode,场景需有 EventSystem,Canvas 需有 GraphicRaycaster;--target-path 或 --drop-target-path 匹配多个活动对象时命令失败;Click/LongPress 点击空白仍返回成功但 HitGameObjectName 为 null,拖拽在空白处失败。其他细节暂未提供。