Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Node

抽象节点,负责节点管理,事件监听,及加载解析
Node 是 2D 和 3D 节点的基类
可监听的事件:enabled

Hierarchy

Index

Constructors

constructor

  • Returns Node

Properties

data

data: any = undefined

扩展字段,可以用来存储任意数据

id

id: number = -1

节点ID,由编辑器生成

Accessors

destroyed

  • get destroyed(): boolean
  • 是否已经被销毁,销毁后,不能再执行任何操作

    Returns boolean

enabled

  • get enabled(): boolean
  • set enabled(value: boolean): void
  • 是否启用节点,如果不启用,则不可见,同时脚本不执行

    Returns boolean

  • 是否启用节点,如果不启用,则不可见,同时脚本不执行

    Parameters

    • value: boolean

    Returns void

globalEnabled

  • get globalEnabled(): boolean
  • 自己及自己的父节点是否激活

    Returns boolean

isInScene

  • get isInScene(): boolean
  • 是否还在场景中,如果自己或者自己的父节点被移除,则为false

    Returns boolean

name

  • get name(): string
  • set name(value: string): void
  • 节点名称

    Returns string

  • 节点名称

    Parameters

    • value: string

    Returns void

numChildren

  • get numChildren(): number
  • 子节点的数量

    Returns number

parent

  • get parent(): undefined | Node
  • 父亲节点,只有被添加到别的节点中,才会有值

    Returns undefined | Node

root

  • get root(): undefined | IAnimation
  • 获得所在的根节点,如果是互动组件,则是 Animation,否者和 this.scene 相同

    Returns undefined | IAnimation

scene

  • get scene(): undefined | Scene
  • 获得所在的场景节点,只有被添加到场景中,才会有值

    Returns undefined | Scene

visible

  • get visible(): boolean
  • set visible(value: boolean): void
  • 节点是否可见,相比enabled,visible不影响脚本的执行

    Returns boolean

  • 节点是否可见,相比enabled,visible不影响脚本的执行

    Parameters

    • value: boolean

    Returns void

Methods

addChild

  • 添加子节点

    Parameters

    • node: Node

      子节点

    Returns Node

addChildAt

  • addChildAt(node: Node, index: number): Node
  • 在某个索引下添加子节点

    Parameters

    • node: Node

      子节点

    • index: number

      索引

    Returns Node

addScript

  • 添加脚本,脚本由场景统一驱动

    Parameters

    Returns undefined | Script

contains

  • contains(target: Node): boolean
  • 自己或者孩子是否包含该节点

    Parameters

    • target: Node

      目标节点

    Returns boolean

destroy

  • destroy(): void
  • 销毁节点,销毁后,不能再执行任何操作

    Returns void

destroyChildren

  • destroyChildren(): void
  • 销毁所有子节点

    Returns void

destroyScripts

  • destroyScripts(scriptClass?: typeof Script): void
  • 销毁指定类型的脚本,如果类型参数为空,则删除当前对象身上的所有脚本

    Parameters

    • Optional scriptClass: typeof Script

      脚本类型

    Returns void

emit

  • emit(type: string, data?: unknown[]): void
  • 派发事件

    Parameters

    • type: string

      事件类型

    • Optional data: unknown[]

      派发的数据(可选)

    Returns void

fromJson

  • fromJson(json: INodeData): Promise<void>
  • 根据json创建节点信息

    Parameters

    • json: INodeData

      节点数据,一般是由编辑器生成的json数据

    Returns Promise<void>

getById

  • getById(id: number): undefined | Node
  • 从根节点(编辑器文件的根节点,如果没有则为this),根据id获得节点

    Parameters

    • id: number

      编辑器内的节点id

    Returns undefined | Node

getChildAt

  • getChildAt(index: number): Node
  • 根据索引获得子节点

    Parameters

    • index: number

      索引

    Returns Node

getChildByName

  • getChildByName(name: string, deep?: boolean): undefined | Node
  • 根据名称获得子节点

    Parameters

    • name: string

      名称

    • deep: boolean = false

      是否递归搜索

    Returns undefined | Node

getChildIndex

  • getChildIndex(node: Node): number
  • 获得子节点索引数

    Parameters

    • node: Node

      子节点

    Returns number

getScript

  • getScript<T>(ScriptClass?: T, deep?: boolean): undefined | InstanceType<T>
  • 获取绑定到该节点的第一个脚本实例

    Type parameters

    • T: new (...args: any[]) => Script

    Parameters

    • ScriptClass: T = ...

      脚本类型

    • deep: boolean = false

      如果是true,则遍历所有子对象,返回第一个脚本实例,默认为false

    Returns undefined | InstanceType<T>

    返回绑定到该节点的第一个脚本实例

getScriptByName

  • getScriptByName(name: string): undefined | Script
  • 根据名称获取绑定到该节点的所有脚本实例

    Parameters

    • name: string

      脚本名称

    Returns undefined | Script

    返回绑定到该节点的第一个脚本实例

getScripts

  • getScripts<T>(ScriptClass?: T, deep?: boolean): InstanceType<T>[]
  • 获取绑定到该节点的所有脚本实例

    Type parameters

    • T: new (...args: any[]) => Script

    Parameters

    • ScriptClass: T = ...

      脚本类型

    • deep: boolean = false

      如果是true,则遍历所有子对象的脚本实例,默认为false

    Returns InstanceType<T>[]

    返回绑定到该节点的所有脚本实例

load

  • load(url: string): Promise<void>
  • 根据地址加载节点数据并解析

    Parameters

    • url: string

      节点数据地址

    Returns Promise<void>

off

  • off(type: string, listener: (...args: any[]) => void, caller?: unknown): void
  • 取消事件监听

    Parameters

    • type: string

      事件类型

    • listener: (...args: any[]) => void

      监听函数

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional caller: unknown

      函数的主体(一般是this,箭头函数可以省略)

    Returns void

offAll

  • offAll(caller?: unknown): void
  • 移除当前节点身上所有caller的事件监听 如果caller为空,则清理当前节点下的所有事件监听

    Parameters

    • Optional caller: unknown

    Returns void

on

  • on<A>(type: "click" | "mouseup" | "mousedown" | "mousemove" | "loaded" | "ended" | "enabled" | "textChanged", listener: A, caller?: unknown, args?: Parameters<A>): void
  • on<A>(type: string, listener: A, caller?: unknown, args?: Parameters<A>): void
  • 监听事件,不用或者销毁时,需要使用off函数清除

    Type parameters

    • A: (...args: any[]) => void

    Parameters

    • type: "click" | "mouseup" | "mousedown" | "mousemove" | "loaded" | "ended" | "enabled" | "textChanged"

      事件类型

    • listener: A

      监听函数

    • Optional caller: unknown

      函数的主体(一般是this,箭头函数可以省略)

    • Optional args: Parameters<A>

      传入的参数,在listener内可以接收到

    Returns void

  • Type parameters

    • A: (...args: any[]) => void

    Parameters

    • type: string
    • listener: A
    • Optional caller: unknown
    • Optional args: Parameters<A>

    Returns void

once

  • once<A>(type: string, listener: A, caller?: unknown, args?: Parameters<A>): void
  • 监听事件,在事件被执行后,取消继续监听,不用或者销毁时,需要使用off函数清除

    Type parameters

    • A: (...args: any[]) => void

    Parameters

    • type: string

      事件类型

    • listener: A

      监听函数

    • Optional caller: unknown

      函数的主体(一般是this,箭头函数可以省略)

    • Optional args: Parameters<A>

      传入的参数,在listener内可以接收到

    Returns void

removeChild

  • 移除子节点

    Parameters

    • node: Node

      子节点

    Returns Node

removeChildAt

  • removeChildAt(index: number): Node
  • 根据索引移除子节点

    Parameters

    • index: number

      索引

    Returns Node

removeChildByName

  • removeChildByName(name: string): Node
  • 根据名称移除子节点

    Parameters

    • name: string

      节点名称

    Returns Node

removeChildren

  • removeChildren(): void
  • 移除所有子节点

    Returns void

removeSelf

  • 把自己从父节点删除

    Returns Node

setChildIndex

  • setChildIndex(node: Node, index: number): Node
  • 设置子节点索引

    Parameters

    • node: Node

      子节点

    • index: number

      索引

    Returns Node

setProp

  • setProp(prop: string, value: unknown): void
  • 设置节点的属性值

    Parameters

    • prop: string

      属性名

    • value: unknown

      属性值

    Returns void