liko
    Preparing search index...

    Class BaseScript<T>Abstract

    节点扩展脚本基类,用于扩展 node 的功能

    此类是所有节点脚本的基础类,提供了完整的生命周期管理和基础功能。

    生命周期顺序:

    1. onCreate - 设置 target 时执行
    2. onAwake - 添加到场景后执行一次
    3. onUpdate - 每帧更新时执行
    4. onDestroy - 销毁时执行

    状态管理:

    • enabled 状态改变时,会触发 onEnableonDisable
    • awaked 表示脚本是否已被激活
    • destroyed 表示脚本是否已被销毁

    注意事项:

    • 多次 scenestage 的访问建议缓存为局部变量以提高性能
    • 使用 Timer.system 的监听需要手动清除
    • 信号发送必须在脚本销毁前执行
    • 脚本销毁后将自动清除所有相关监听

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    id: string = ''

    脚本唯一标识符,通常由编辑器指定

    label: string = ''

    脚本标签,用于快速识别和查找

    Accessors

    • get awaked(): boolean

      脚本是否已被激活(添加到场景后触发)

      Returns boolean

    • get scene(): undefined | IScene

      目标节点所在的场景引用(建议缓存为局部变量以提高性能)

      Returns undefined | IScene

    Methods

    • 销毁脚本实例

      Returns void

      销毁后脚本将不再可用,系统会自动:

      • 触发 onDestroy 回调
      • 清除在 target、scene、stage、timer 上的所有监听
      • 解除与目标节点的关联
      • 设置 destroyed 状态为 true
      • 设置 enabled 状态为 false

      注意: 如果使用了 Timer.system 的监听,需要在 onDestroy 中手动清除

    • 脚本第一次被激活时触发的回调函数

      Returns void

      只会触发一次,此时:

      • target 已经添加到场景中
      • 可以安全访问 scene 和 stage
      • 适合进行初始化设置和事件监听
    • 当脚本的 target 被设置时触发的回调函数

      Returns void

      生命周期中的第一个回调,此时:

      • target 已经设置完成
      • 可以访问 target 的属性和方法
      • 但 scene 和 stage 可能还未初始化
    • 脚本被销毁时触发的回调函数

      Returns void

      用于清理资源和释放引用,如:

      • 移除事件监听
      • 清理定时器
      • 释放对象引用

      注意: 系统会自动清理大部分监听,但使用 Timer.system 的监听需要手动清除

    • 每帧更新时触发的回调函数

      Parameters

      • delta: number

        距离上一帧的时间间隔(毫秒)

      Returns void

      用于实现脚本的主要逻辑,如:

      • 移动和动画
      • 状态检查和更新
      • 输入处理
      • 物理计算等
    • 设置单个属性值

      Parameters

      • key: string

        属性名

      • value: unknown

        属性值

      Returns void

    • 批量设置脚本属性

      Parameters

      • Optionalprops: Record<string, unknown>

        要设置的属性键值对

      Returns this

      当前实例,支持链式调用

    • 向同场景的其他脚本发送信号

      Parameters

      • key: string

        信号类型标识符

      • Optionalparams: Record<string, any>

        可选的信号参数对象

      Returns void

      发送的信号可以在同场景其他脚本的 onSignal 方法中被监听到,用于脚本间通信。

      注意:

      • 必须在脚本销毁前发送信号,否则无法正确触发
      • 信号只能在同一场景内传递
      • key 不区分大小写
    • 执行脚本的更新逻辑

      Parameters

      • delta: number

        距离上一帧的时间间隔(毫秒)

      Returns void

      系统每帧调用一次,用于更新脚本状态。

      执行条件:

      • 脚本必须处于启用状态(enabled = true)
      • 脚本必须已经激活(awaked = true)
      • 如果是首次执行,会先触发 onAwake