Script Graph

使用指南

核心概念 / 变量、函数库、类、枚举和结构体

说明 Script Graph 中常见数据组织能力的用途、选择规则和组合方式。

16

节点负责“做事”,变量和类型负责“保存和表达数据”。当工作流变大时,合理使用变量、函数库、类、枚举和结构体,会比继续堆节点更清晰。

什么时候用变量

变量适合保存会被重复读取或修改的值:

数据示例
状态当前分数、剩余生命、是否暂停
引用玩家节点、UI 文本组件、音频组件
配置移动速度、伤害倍率、刷新间隔
临时结果本次计算出的方向、命中的目标、加载到的资产

如果一个值只用一次,直接连线即可。如果会被多个节点使用,提成变量更容易维护。

什么时候用函数库

函数库适合放“输入明确、输出明确、没有场景依赖”的逻辑,例如:

  • 分数结算。
  • 随机权重。
  • 坐标换算。
  • 字符串格式化。
  • 根据等级计算属性。

函数库的好处是跨文件复用。多个组件工作流都需要同一段逻辑时,不要复制节点,放进函数库再调用。

什么时候用类

类适合描述“有状态、有方法、可实例化”的对象,例如:

  • 背包物品。
  • 任务状态。
  • 敌人数据。
  • 技能效果。
  • 商店条目。

类可以有构造函数、变量、方法、继承和方法重写。它适合做中大型玩法系统的内部模型,但不适合作为每个小步骤的默认选择。新手先用组件、变量和函数库,等重复数据和方法变多后再引入类。

什么时候用接口

接口定义“应该有什么”,不定义“具体怎么做”。适合统一多个类的能力,例如:

  • 所有可受伤对象都要有 hptakeDamage
  • 所有可交互对象都要有 interact
  • 所有 UI 面板都要有 openclose

如果你只是做一个简单对象,不需要接口。如果多个类需要遵守同一套形状,再使用接口。

什么时候用枚举

枚举适合有限选项:

  • 游戏状态:准备、运行、暂停、结算。
  • 方向:上、下、左、右。
  • 品质:普通、稀有、史诗。
  • 事件名:开始、失败、完成。

和字符串相比,枚举更适合做 Switch 分支,也更不容易写错。

什么时候用结构体

结构体适合把一组字段打包成一个值:

结构体字段示例
PlayerStatshpspeedattack
DamageResultamountisCriticalsource
SpawnConfigprefabcountinterval

结构体常和构造、拆解、修改节点一起使用。字段多了以后,比一串散乱数据线更清楚。

一个选择口诀

  • 单个值反复用:变量。
  • 一段逻辑反复用:函数库。
  • 一组固定选项:枚举。
  • 一组字段打包:结构体。
  • 一个有状态对象:类。
  • 多个类共享约束:接口。

继续阅读