使用指南
核心概念 / 变量、函数库、类、枚举和结构体
说明 Script Graph 中常见数据组织能力的用途、选择规则和组合方式。
16
节点负责“做事”,变量和类型负责“保存和表达数据”。当工作流变大时,合理使用变量、函数库、类、枚举和结构体,会比继续堆节点更清晰。
什么时候用变量
变量适合保存会被重复读取或修改的值:
| 数据 | 示例 |
|---|---|
| 状态 | 当前分数、剩余生命、是否暂停 |
| 引用 | 玩家节点、UI 文本组件、音频组件 |
| 配置 | 移动速度、伤害倍率、刷新间隔 |
| 临时结果 | 本次计算出的方向、命中的目标、加载到的资产 |
如果一个值只用一次,直接连线即可。如果会被多个节点使用,提成变量更容易维护。
什么时候用函数库
函数库适合放“输入明确、输出明确、没有场景依赖”的逻辑,例如:
- 分数结算。
- 随机权重。
- 坐标换算。
- 字符串格式化。
- 根据等级计算属性。
函数库的好处是跨文件复用。多个组件工作流都需要同一段逻辑时,不要复制节点,放进函数库再调用。
什么时候用类
类适合描述“有状态、有方法、可实例化”的对象,例如:
- 背包物品。
- 任务状态。
- 敌人数据。
- 技能效果。
- 商店条目。
类可以有构造函数、变量、方法、继承和方法重写。它适合做中大型玩法系统的内部模型,但不适合作为每个小步骤的默认选择。新手先用组件、变量和函数库,等重复数据和方法变多后再引入类。
什么时候用接口
接口定义“应该有什么”,不定义“具体怎么做”。适合统一多个类的能力,例如:
- 所有可受伤对象都要有
hp和takeDamage。 - 所有可交互对象都要有
interact。 - 所有 UI 面板都要有
open和close。
如果你只是做一个简单对象,不需要接口。如果多个类需要遵守同一套形状,再使用接口。
什么时候用枚举
枚举适合有限选项:
- 游戏状态:准备、运行、暂停、结算。
- 方向:上、下、左、右。
- 品质:普通、稀有、史诗。
- 事件名:开始、失败、完成。
和字符串相比,枚举更适合做 Switch 分支,也更不容易写错。
什么时候用结构体
结构体适合把一组字段打包成一个值:
| 结构体 | 字段示例 |
|---|---|
PlayerStats | hp、speed、attack |
DamageResult | amount、isCritical、source |
SpawnConfig | prefab、count、interval |
结构体常和构造、拆解、修改节点一起使用。字段多了以后,比一串散乱数据线更清楚。
一个选择口诀
- 单个值反复用:变量。
- 一段逻辑反复用:函数库。
- 一组固定选项:枚举。
- 一组字段打包:结构体。
- 一个有状态对象:类。
- 多个类共享约束:接口。