Script Graph

使用指南

问题诊断 / 常见现象速查

用现象、原因和处理动作快速定位新手最常遇到的 Script Graph 使用问题。

16

这页按现象查。每个问题都先给最短处理动作,再给下一步阅读链接。

节点完全不执行

先检查:

  1. 入口节点后是否接了打印字符串。
  2. .sgw 是否是组件类型。
  3. 生成组件是否挂到运行场景的节点。
  4. 目标节点是否启用。

继续读:Hello World:打印第一条消息

有入口,但某条分支不执行

先打印分支条件。布尔值、枚举值、数字比较结果都要打印出来,不要只看最终结果。

常见原因:

  • 条件输入没有连接。
  • 默认值和预期相反。
  • 枚举成员选错。
  • 分支前的数据还没有被异步节点写入。

继续查:流程控制节点

数据线接不上

看两端类型是否一致。尤其注意:

  • NodeComponent 不是一类值。
  • PrefabSpriteFrameAudioClip 都是不同资产类型。
  • 枚举和字符串不要混用。
  • 结构体必须是同一个结构体定义。

继续读:节点、引脚和连线

获取组件为空

先确认目标节点上真的挂了对应组件。然后检查节点路径或上游节点引用。

排查顺序:

  1. 打印目标节点名称。
  2. 打印获取组件结果是否为空。
  3. 检查组件类型是否选对。
  4. 如果是子节点,确认路径和层级没有变。

事件重复触发

常见原因是每次启用时都绑定事件,但没有在禁用或销毁时解绑。按钮点击、全局事件、键盘事件都可能出现。

处理方式:

  • 只在启动时绑定一次。
  • 在禁用或销毁时取消绑定。
  • 用变量保存绑定句柄,避免丢失解绑入口。

继续读:事件、执行流和数据流

资产加载结果为空

优先检查:

检查项说明
资产包名是否真的存在对应 AssetBundle
路径是否是包内路径,不要带错扩展名或目录
类型Prefab、AudioClip、SpriteFrame 等类型是否匹配
构建设置资源是否会进入预览或构建
异步出口后续逻辑是否接在加载完成之后

继续读:资产、音效和 Prefab 加载

场景切换失败

先确认目标场景已加入 Cocos Creator 构建设置。再打印切换前的目标场景名。

如果按钮点击能打印但场景不切换,问题通常不在按钮事件,而在目标场景配置或 Director 节点输入。

继续读:按钮开始游戏和场景切换

自定义节点没有出现在节点栏

检查:

  1. 文件是否在 assets/ScriptGraph/CustomNode
  2. 是否默认导出 defineCustomNode(...)
  3. node.type 是否以 Custom 开头。
  4. node.type 是否和其他文件重复。
  5. 是否只从 db://script-graph/workflow/custom-node 导入公开 API。

继续读:自定义节点完整指南

插件节点禁用后工作流失败

如果工作流正在使用某个插件节点,禁用关联插件或服务后,相关工作流可能无法编译或运行。先打开“关联插件”面板查看使用点,再决定是替换节点还是重新启用插件。

继续读:插件节点和关联插件完整指南