程序蓝图3D组件
版本 >= 3.2 beta3
一、概述
程序蓝图3D组件是一种通过可视化蓝图编辑器创建的脚本组件,它与通过TypeScript代码编写的自定义组件(Laya.Script)具有相同的功能,但不需要编写代码,而是通过连线的方式来实现逻辑。
蓝图脚本组件同样拥有完整的生命周期方法(onAwake、onEnable、onUpdate、onDestroy等)、鼠标事件方法、键盘事件方法和物理事件方法,与代码脚本组件的行为完全一致。
关于组件脚本的生命周期和内置方法,请参考《组件脚本的内置方法》。
二、创建蓝图脚本组件
2.1 创建蓝图文件
首先需要在项目设置中勾选蓝图模块以启用蓝图功能。
然后在项目资源目录下,通过点击"+"或鼠标右键进行蓝图的创建,选择继承Script类来创建一个蓝图脚本组件。创建后会在资源目录中生成一个蓝图文件(.bp)。
蓝图的创建和编辑器的详细使用,请参考《程序蓝图》。
2.2 添加到3D节点
继承组件类(Script)的蓝图会自动填充到IDE的组件列表中。有以下两种方式将蓝图脚本组件添加到3D节点上:
组件列表添加:选中3D节点,在属性面板中点击
添加组件按钮,在组件列表中找到对应的蓝图组件并添加。拖拽添加:直接将蓝图文件从资源目录拖拽到属性面板上进行添加。
添加成功后,在属性面板中可以看到该蓝图脚本组件,与普通脚本组件的显示方式相同。
三、蓝图组件属性
蓝图脚本组件在属性面板中显示的属性取决于蓝图中定义的外部可见变量。
在蓝图编辑器中创建变量时,可以通过眼睛图标控制变量是否对外部可见。对外可见的变量会在属性面板中显示,开发者可以在IDE中直接为这些变量赋值,类似于在代码脚本中使用@property装饰器暴露的属性。
关于蓝图中变量的创建和使用,请参考《程序蓝图》中的"创建变量"部分。
四、蓝图与代码脚本的对比
| 对比项 | 蓝图脚本组件 | 代码脚本组件 |
|---|---|---|
| 创建方式 | 蓝图编辑器可视化创建 | TypeScript代码编写 |
| 生命周期方法 | 通过事件节点触发 | 在代码中直接重写方法 |
| 变量暴露 | 眼睛图标控制可见性 | @property装饰器 |
| 逻辑实现 | 节点连线 | 编写代码 |
| 调试方式 | 蓝图断点调试 | 代码断点调试 |
| 适用场景 | 快速原型、简单逻辑、非程序员 | 复杂逻辑、高性能需求 |
蓝图脚本和代码脚本可以混合使用。通过蓝图装饰器(@bpClass、@bpFunction、@bpProperty等),可以将自定义的代码组件暴露到蓝图编辑器中,实现蓝图与代码的互操作。
关于蓝图装饰器的详细用法,请参考《程序蓝图》中的"蓝图装饰器"部分。