使用指南

入门路径 / 创建、打开和挂接工作流

了解 .sgw 文件的创建入口、面板打开方式、组件挂接关系和适合新手的保存习惯。

16

Script Graph 的一切都从一个 .sgw 文件开始。你可能已经在 Hello World 里创建过一个了,但把”文件、面板、组件”这三者的关系彻底捋清楚,是接下来所有章节的基础。搞不清它们,后面很容易出现”图看着没错,但就是不生效”的困惑。

从哪儿创建

在 Cocos Creator 资源管理器里右键任意目录或资源,选择:

脚本图流(Script Graph Workflow)

系统会创建一个 NewWorkflow.sgw

  • 文件夹上右键 → 创建在这个文件夹里。
  • 文件上右键 → 创建在该文件所在目录。

创建的一瞬间可以直接改名——建议按用途命名,别用默认名,等项目大了会很难找:

用途建议命名
角色控制PlayerController.sgw
UI 按钮或面板StartButton.sgw / HomePanel.sgw
关卡管理LevelManager.sgw
函数库GameMath.sgw
数据结构PlayerStats.sgw

怎么打开

双击 .sgw 就会弹出工作流面板。

有几个细节要知道:

  • Script Graph 允许同时开最多 10 个工作流面板。达到上限后,再打开会提示——先关掉几个不用的。
  • 双击一个已经打开的 .sgw,会聚焦到已有面板,而不是重复开一份。
  • 面板可以在编辑器里拖动,找到你顺手的位置固定下来,写玩法时来回切场景就不会乱。

首次打开时那个类型选择

第一次打开一个空 .sgw,Script Graph 会问你想让它是哪种主类型。这是一次性选择,选了就无法在同一份文件里改——所以选之前想清楚它承担什么职责。

新手请优先选「组件」,理由很简单:组件能直接挂到场景节点,跟随生命周期运行,这是最容易把”跑起来”这件事验证掉的类型。

各类型的分工大概是这样:

类型该放什么
组件角色、UI 面板、关卡管理、场景对象——一切”挂在节点上、跟随场景运行”的行为
函数库公共计算、数值格式化、跨工作流复用的工具逻辑
背包物品、角色数据、任务实例——可实例化、可携带方法的对象
接口一组对象共同要遵守的字段和方法契约
枚举有限选项:状态、方向、道具品质、事件名
结构体一组字段组成的数据包,比如属性、坐标配置、战斗结果

一个经验:“要不要挂到节点上”是判断的关键——要挂就是组件,不挂就是其他类型。

组件工作流和场景节点的关系

组件工作流编译之后,会生成一个 Cocos Creator 认得的 TypeScript 组件。这个组件必须挂到场景节点上才会真的跑——否则它只是一段代码,没有触发时机。

推荐的组织习惯:

  • 一个场景根逻辑一个工作流GameRoot.sgw 挂到根节点,负责关卡启动、全局状态。
  • 一个 UI 面板一个工作流HomePanel.sgw 挂到面板节点,负责按钮、切换、显示逻辑。
  • 一个可复用对象一个工作流EnemyController.sgw 挂到敌人 Prefab,让每个敌人都有自己的一份。
  • 通用计算不放在组件里复制——放到函数库,需要的时候调用一次。

这样做的好处是:改 UI 时不会误动关卡逻辑;换 Prefab 时不需要重接一堆事件;每张图都保持在一屏之内,读起来轻松。

保存和编译的节奏

新手最容易犯的错是”一口气搭大图”——放了十几个节点、连了几十条线,然后一次性运行,结果没跑通,谁也说不清是哪个环节出了问题。

推荐的节奏是:小步走,边搭边验证。

  1. 放一个入口节点。
  2. 接一个调试打印。
  3. 保存并编译,运行确认能触发。
  4. 再接入一段真实业务线。
  5. 每加入一段分支、循环、异步资产加载或组件操作后,再编译再确认一次。

这样即使某一步坏了,你能立刻定位到是最近这几步里的问题——而不是从整张大图里去推断。

下一步