使用指南
核心概念 / 节点、引脚和连线
用可操作的语言解释节点、执行引脚、数据引脚、类型匹配和常见连线错误。
16
节点是工作流里的动作或值,引脚是节点能连接的位置,连线负责把执行顺序和值传下去。
两类线要分清
| 线 | 看什么 | 解决什么问题 |
|---|---|---|
| 执行流 | 通常从左到右连接执行引脚 | 下一步执行哪个节点 |
| 数据流 | 连接字符串、数字、节点、组件、资产等数据引脚 | 某个输入值从哪里来 |
执行流只控制顺序,不传具体数值。数据流只传值,不会主动让节点执行。一个节点想真正运行,通常既要有执行入口,也要准备好它需要的数据。
一个最小例子
“加载事件 → 打印字符串”里有两件事:
- 加载事件的执行输出接到打印字符串的执行输入。
- 打印字符串的文本输入填入
Hello Script Graph。
第一步决定打印节点会被执行,第二步决定打印什么。
输入和输出
左侧通常是输入,右侧通常是输出:
- 输入引脚:等别人把执行或数据传进来。
- 输出引脚:把执行或数据传给别人。
- 事件引脚:用于绑定回调,例如按钮点击、键盘输入、自定义事件。
如果一个输入引脚已经接了线,再接另一条同类线时,旧线通常会被替换或被提示不兼容。这样可以避免一个输入同时收到多个来源导致结果不确定。
默认值、连线值和执行时读取
很多输入引脚既可以直接填默认值,也可以接一条数据线。理解这件事能减少很多“看起来接了线但结果不对”的问题。
| 输入状态 | 执行时使用什么 |
|---|---|
| 没接数据线,填了默认值 | 使用面板里的默认值 |
| 接了数据线 | 使用上游节点输出的值 |
| 接了数据线,但上游输出为空 | 使用空值,通常不会自动回退默认值 |
| 输入类型不匹配 | 连线会失败,或编译时提示类型错误 |
执行流到达某个节点时,节点会读取当前需要的数据输入。也就是说,数据线不是提前“推送”值,而是在节点执行时从上游结果里取值。
一个常见例子:
查找节点
-> 输出 Node
-> 获取 Button 组件
获取 Button 组件 执行时会读取 查找节点 的输出。如果查找路径写错,后面获取组件也会失败。排查时要打印中间输出,不要只看最后一个节点。
类型匹配
数据线需要类型兼容。常见类型包括:
| 类型 | 常见来源 |
|---|---|
| 字符串 | 名称、路径、日志文本、场景名 |
| 数字 | 坐标、速度、分数、时间 |
| 布尔值 | 开关、条件判断 |
| 节点 | 场景节点、查找节点结果、当前节点 |
| 组件 | Button、Label、Sprite、AudioSource 等 |
| 资产 | Prefab、SpriteFrame、AudioClip、SceneAsset 等 |
| 枚举 | 状态、方向、品质、事件名 |
| 结构体 | 一组字段构成的数据 |
如果线接不上,先看两端类型,再看是否需要先用“获取组件”“构造结构体”“枚举值”“类型转换”一类节点做中间桥接。
常见连线错误
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
| 节点不执行 | 没有执行流接入 | 从事件、函数入口或上游节点接入执行线 |
| 数据为空 | 只接了执行线,数据输入没有值 | 给输入填默认值或接入数据输出 |
| 线接不上 | 两端类型不兼容 | 换成同类型节点,或先转换类型 |
| 分支永远走同一路 | 条件输入没有变化 | 打印条件值,确认数据来源 |
| 事件没有响应 | 只创建了事件节点,没有绑定目标 | 检查事件绑定节点、目标组件和解绑时机 |
新手搭图顺序
- 先放入口节点。
- 再放调试输出,确认入口能触发。
- 接入一条真实业务线。
- 每接入一个条件、循环或异步节点,就打印关键输入和输出。
- 最后再清理临时打印。
这个顺序的重点是“每一步都能被观察”。如果一次放十几个节点再运行,失败时很难知道问题出在入口、数据、分支、异步完成还是最终动作。
继续阅读
- 想理解入口和事件,读 事件、执行流和数据流。
- 想查具体节点引脚,打开 节点手册。