使用指南
问题诊断 / 常见现象速查
用现象、原因和处理动作快速定位新手最常遇到的 Script Graph 使用问题。
16
这页按现象查。每个问题都先给最短处理动作,再给下一步阅读链接。
节点完全不执行
先检查:
- 入口节点后是否接了打印字符串。
.sgw是否是组件类型。- 生成组件是否挂到运行场景的节点。
- 目标节点是否启用。
继续读:Hello World:打印第一条消息。
有入口,但某条分支不执行
先打印分支条件。布尔值、枚举值、数字比较结果都要打印出来,不要只看最终结果。
常见原因:
- 条件输入没有连接。
- 默认值和预期相反。
- 枚举成员选错。
- 分支前的数据还没有被异步节点写入。
继续查:流程控制节点。
数据线接不上
看两端类型是否一致。尤其注意:
Node和Component不是一类值。Prefab、SpriteFrame、AudioClip都是不同资产类型。- 枚举和字符串不要混用。
- 结构体必须是同一个结构体定义。
继续读:节点、引脚和连线。
获取组件为空
先确认目标节点上真的挂了对应组件。然后检查节点路径或上游节点引用。
排查顺序:
- 打印目标节点名称。
- 打印获取组件结果是否为空。
- 检查组件类型是否选对。
- 如果是子节点,确认路径和层级没有变。
事件重复触发
常见原因是每次启用时都绑定事件,但没有在禁用或销毁时解绑。按钮点击、全局事件、键盘事件都可能出现。
处理方式:
- 只在启动时绑定一次。
- 在禁用或销毁时取消绑定。
- 用变量保存绑定句柄,避免丢失解绑入口。
继续读:事件、执行流和数据流。
资产加载结果为空
优先检查:
| 检查项 | 说明 |
|---|---|
| 资产包名 | 是否真的存在对应 AssetBundle |
| 路径 | 是否是包内路径,不要带错扩展名或目录 |
| 类型 | Prefab、AudioClip、SpriteFrame 等类型是否匹配 |
| 构建设置 | 资源是否会进入预览或构建 |
| 异步出口 | 后续逻辑是否接在加载完成之后 |
继续读:资产、音效和 Prefab 加载。
场景切换失败
先确认目标场景已加入 Cocos Creator 构建设置。再打印切换前的目标场景名。
如果按钮点击能打印但场景不切换,问题通常不在按钮事件,而在目标场景配置或 Director 节点输入。
继续读:按钮开始游戏和场景切换。
自定义节点没有出现在节点栏
检查:
- 文件是否在
assets/ScriptGraph/CustomNode。 - 是否默认导出
defineCustomNode(...)。 node.type是否以Custom开头。node.type是否和其他文件重复。- 是否只从
db://script-graph/workflow/custom-node导入公开 API。
继续读:自定义节点完整指南。
插件节点禁用后工作流失败
如果工作流正在使用某个插件节点,禁用关联插件或服务后,相关工作流可能无法编译或运行。先打开“关联插件”面板查看使用点,再决定是替换节点还是重新启用插件。
继续读:插件节点和关联插件完整指南。