拆分并复用过长宏¶
本教程把一段过长宏拆成两个蓝图:原蓝图保留前半段,新蓝图接收后半段。片段先用进程内宏剪贴板迁移,再用开始、结束接口传递必要数据;完整宏还可以导出为 .gmacro 复用。
前置条件¶
- 原蓝图中已有一条可以播放或 Debug 的宏时间线。
- 文件管理中已创建目标蓝图,或当前自动化中已有可编辑的第二张蓝图。
- 已保存原蓝图。重要宏建议额外导出一份
.gmacro作为回退副本。 - 本次操作期间不要关闭 GhostClickAI。宏片段剪贴板只在当前软件进程中保留。
先决定拆分边界¶
- 在原宏中播放到计划拆分的位置。
- 选择一段业务完整的片段,例如“登录完成后领取奖励”,不要从一次按下与抬起的中间强行切开。
- 检查所选片段是否引用组件、变量、图像、视频或 ONNX。
- 记下新蓝图开始时需要的输入,以及原蓝图结束时需要交出的结果。
如果后半段仍依赖前半段运行时才产生的数据,应通过蓝图开始、结束接口传递,不要依赖两个蓝图偶然共享编辑状态。
步骤一:复制片段及依赖¶
- 在原宏时间线中框选要迁移的全部片段。
- 按
Ctrl+C。首次拆分建议先复制,不要立即剪切。 - 退出当前宏和蓝图,打开目标蓝图中的宏节点。
- 把时间指示器放到希望粘贴的起点,通常为
0秒。 - 按
Ctrl+V,检查片段的相对时间、轨道和嵌套关系。
宏片段剪贴板与节点剪贴板、文件管理剪贴板相互独立。它允许在当前进程中跨宏、跨蓝图粘贴;复制新的宏片段会替换上一次宏片段剪贴板内容。
粘贴会迁移所选内容实际需要的依赖闭包,包括被引用的资源、变量定义、组件和绑定关系。它不会把根蓝图中所有无关资源一起复制。发生真实 ID 冲突时,目标蓝图会建立新身份并重写本次粘贴内容的引用。
步骤二:检查粘贴后的闭包¶
在目标宏中逐项确认:
- 图像、视频和 ONNX 片段或识别目标仍能显示资源。
- 绑定组件仍在预览区,片段属性显示正确组件和锚点。
- 变量引用没有变成空值,变量类型与原蓝图一致。
- PC、ADB 和预览片段位于兼容轨道。
- 片段起点没有与目标宏原有内容形成意外覆盖。
打开内嵌资源管理器,可查看新蓝图中资源的实际使用位置。复制闭包不是共享两个蓝图的同一资源 ID;两张蓝图之后可以独立修改。
步骤三:建立蓝图之间的数据接口¶
假设前半段要把“是否登录成功”和“账号名称”交给后半段:
- 在原蓝图任一“结束执行”节点上点击加号,建立
ID 1和ID 2。 - 把布尔结果连接到
ID 1,把字符串结果连接到ID 2。 - 原蓝图中的其他结束节点会同步出现相同数量的槽位;为每条可能结束路线提供合适的输出。
- 打开目标蓝图,在唯一的开始节点上添加同样数量的输出槽位。
- 将开始节点的
ID 1、ID 2接入后半段所需的变量或节点。 - 在自动化工作区中确认原蓝图排在目标蓝图之前。
开始节点只有一个,结束节点可以有多个。到达任意结束节点都会结束当前蓝图;多个结束节点共享槽位数量,以保证相邻蓝图看到稳定的接口形状。
步骤四:验证后再移除原片段¶
- 保存目标蓝图并局部 Debug 新宏。
- 运行包含两张蓝图的测试自动化,确认接口值和执行顺序正确。
- 回到原宏,重新选择已经迁移的后半段。
- 删除原片段,或在确认目标粘贴成功后使用剪切方式重新完成迁移。
- 保存两张蓝图,再运行一次完整自动化。
先复制、后验证、最后删除,可以避免跨蓝图剪切失败时同时失去来源和目标。
用 .gmacro 复用完整宏¶
需要迁移整个宏而不是一部分时,使用宏工具条的“导出”:
- 按需要选择导出 PC、ADB、图像和视频片段。
- 导出
.gmacro。包会保留宏结构、组件、绑定、变量及实际仍被引用的资源闭包。 - 在目标宏中使用“导入”会整体替换当前宏;在根蓝图画布拖入
.gmacro则创建一个新宏节点。 - 导入后保存目标蓝图并重新 Debug。
.gmacro 适合备份、交付和完整复用;进程内剪贴板更适合拆出一部分片段。.gmacro 本身不是内嵌资源类型,导入后资源会接入目标根蓝图的 Image、Video 和 ONNX 资源池。
验证结果¶
- 原蓝图只执行保留的前半段,并从结束接口输出预期值。
- 目标蓝图从开始接口读取相同槽位,并继续执行迁移内容。
- 目标宏中的资源、变量、组件和绑定均无丢失提示。
- 完整自动化只执行一次每个业务步骤,没有因原片段未删除而重复操作。
- 重新打开蓝图后,两边内容和资源引用仍然存在。
失败处理¶
- 切换蓝图后无法粘贴:确认复制的是宏时间线片段,不是节点或文件;软件重启后需要重新复制。
- 粘贴到错误时间:撤销后把时间指示器放到目标起点,再次粘贴。
- 片段存在但组件丢失:检查复制时是否完整选择依赖该组件的内容,并查看片段属性中的绑定状态;必要时从
.gmacro回退。 - 目标蓝图读不到前一张蓝图的值:检查自动化顺序、开始与结束的槽位编号和实际连接类型。
- 导入 .gmacro 后原宏消失:宏内“导入”设计为整体替换。需要保留原宏时,应在根画布拖入文件创建新宏,或先导出备份。
- 包异常变大:检查是否导出了不需要的视觉片段,以及保留内容是否仍真实引用大型 Image、Video 或 ONNX。