跳转至

宏

类型 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。宏自己的有效时间结束后,如果没有连接保持运行等驻留节点,执行线走完整张蓝图即自然完成,不会一直挂在运行中。

窗口移动与副屏

窗口目标的操作坐标按当前窗口和既有裁切范围换算。副屏负坐标不应改写成主屏坐标;窗口部分越界时,应分别检查片段的实际点击或拖拽点。未到达请求点的操作不能作为命中成功;键盘片段仍按目标、焦点和权限处理。组件未设为功能节点的主要组件,不会删除宏中对该组件的记录。