跳到主要内容

脚本

Script 组件让实体运行用户提供的脚本。你可以使用 JavaScript 或 TypeScript 编写脚本,在实体实例化时及每帧更新时执行。

脚本组件

添加脚本​

要添加脚本,单击 Script 组件中的 Add Script 下拉菜单,然后:

  • 从列表中选择已有脚本。
  • 或输入新脚本名称,单击 Create Script 创建脚本资源。

也可以将脚本资源从资源面板拖到 Script 组件上。

添加脚本对话框

脚本面板控件​

每个已添加脚本都显示为可折叠面板,包含以下控件:

控件说明
脚本名称(Script Name)单击可在资源面板中选中对应脚本资源。
开/关(On/Off)启用或禁用此脚本。
编辑(Edit)在代码编辑器中打开脚本。
解析(Parse)重新解析脚本以更新属性。修改脚本属性定义后使用。
移除(Remove)单击 X 按钮,将脚本从组件中移除。
备注

这里显示的 Script Name 是脚本在代码中定义的注册名称:ESM 脚本使用 static scriptName,经典脚本使用 pc.createScript('name') 的参数。注册名称与脚本资源文件名无关,因此可能不同。例如,annotation-manager.mjs 文件可以将脚本注册为 annotationManager。

脚本顺序​

同一实体附加多个脚本时,顺序很重要。脚本从上到下执行,可以在组件中通过拖放调整顺序。

脚本属性​

脚本可以定义显示在检查器中的自定义属性,便于在不改代码的情况下配置行为。支持的类型包括:

  • boolean:复选框。
  • number:数字输入,可选用带最小/最大范围的滑块。
  • string:文本输入。
  • vec2、vec3、vec4:向量输入。
  • rgb、rgba:颜色选择器。
  • asset:资源选择器。
  • entity:实体选择器。
  • curve:曲线编辑器。
  • json:复杂嵌套对象。

属性定义方法详见脚本属性。

另请参阅​

脚本接口​

Script 组件的接口详见 ScriptComponent。