宏¶
类型 ID:event.mouse_macro。添加路径:Shift+A → 宏 → 宏。
用途¶
把一连串输入动作(移动、点击、按键、输入文本等)编排成一段宏,在指定目标上一次性执行。宏的内容在宏编辑器中编排,详见宏编辑器一章。
端口¶
| 方向 | 端口 | 类型 | 说明 |
|---|---|---|---|
| 输入 0 | 执行 | 执行 | 到达后开始执行宏。 |
| 输入 1 | 目标信息 | 字符串 | 宏的执行目标,即节点上的「执行域」字段;连线优先。 |
| 输入 2 | 组件目标组 | 数组 | 可选的组件目标描述字符串数组,通常连接通用游戏组件的输出。 |
| 输出 0 | 执行 | 执行 | 宏处理结束后继续。 |
| 输出 1 | 是否成功执行 | 布尔 | 宏是否按当前实现完成。 |
执行域(目标信息)¶
执行域指定整段宏在哪个目标上执行,填写的是目标描述:
- 留空 = 在桌面上执行;连线时以连线给的目标为准,字段会显示“由连接提供”。
- 窗口:
window:窗口标题(简写)、window:title=标题、window:process=程序名.exe、window:handle=句柄;多个条件用英文逗号组合,如window:process=cloudmusic.exe,title=网易云音乐。 - 屏幕:
screen:primary= 主屏;screen:2= 第 2 块屏;也可写screen:id=显示器ID。 - 安卓:
android:adb=地址:端口,如android:adb=127.0.0.1:5555;或用android:type=类型,id=实例ID组合。
完整的写法、转义与组合规则见目标描述。字段上的占位提示 window: / screen: / android: 只是提示三种前缀,不是填好的默认值。
窗口裁切可随目标描述传入,例如 window:handle=123,crop=auto;也可用 cropLeft、cropRight、cropTop、cropBottom 分别指定各边。完整规则见目标描述。录制素材也会保存自身裁切设置。
常见的连线方式是先把打开节点的「窗口」输出(window:handle=N)连到执行域,宏就在刚打开的窗口里执行。
失败与结束¶
宏按时间轴顺序执行片段;目标不存在、无法解析或片段执行失败会以失败结束,是否成功执行 输出 false。宏自己的有效时间结束后,如果没有连接保持运行等驻留节点,执行线走完整张蓝图即自然完成,不会一直挂在运行中。
窗口移动与副屏¶
窗口目标的操作坐标按当前窗口和既有裁切范围换算。副屏负坐标不应改写成主屏坐标;窗口部分越界时,应分别检查片段的实际点击或拖拽点。未到达请求点的操作不能作为命中成功;键盘片段仍按目标、焦点和权限处理。组件未设为功能节点的主要组件,不会删除宏中对该组件的记录。