微信小程序

Transform

xr-frame / Exports / Transform

# Class: Transform

3D变换组件,作为场景中3D节点的根基,一般被代理到XRNode元素。

# Hierarchy

  • Component<ITransformData>

    Transform

# Table of contents

# Constructors

  • constructor

# Events

  • onAdd
  • onRelease
  • onRemove
  • onTick
  • onUpdate

# Properties

  • priority
  • schema
  • EVENTS

# Accessors

  • el
  • layer
  • node
  • position
  • quaternion
  • rotation
  • scale
  • scene
  • version
  • visible
  • worldForward
  • worldMatrix
  • worldPosition
  • worldQuaternion
  • worldRight
  • worldScale
  • worldUp

# Methods

  • getData
  • setData
  • setDataOne
  • setLocalMatrix

# Constructors

# constructor

new Transform()

# Inherited from

Component.constructor

# Events

# onAdd

onAdd(parent, data): void

所挂载的element被挂载到场景时触发的回调。

# Parameters
Name Type
parent Element
data ITransformData
# Returns

void

# Inherited from

Component.onAdd

# onRelease

onRelease(data): void

从被挂载的element上被移除,或是element被销毁时,触发的回调。 一般用于释放持有的资源。

# Parameters
Name Type
data ITransformData
# Returns

void

# Inherited from

Component.onRelease

# onRemove

onRemove(parent, data): void

所挂载的element从父节点parent被移除时,或者自己从element上被移除时,触发的回调。 一般用于消除功能的运作。 如果一个组件的元素直接被销毁了,那这个组件就不会经历onRemove而是直接进入onRelease。

# Parameters
Name Type
parent Element
data ITransformData
# Returns

void

# Inherited from

Component.onRemove

# onTick

onTick(deltaTime, data): void

渲染每帧触发的回调。

# Parameters
Name Type Description
deltaTime number 单位为毫秒(ms)。
data ITransformData -
# Returns

void

# Inherited from

Component.onTick

# onUpdate

onUpdate(data, preData): void

数据更新时触发的回调。

# Parameters
Name Type
data ITransformData
preData ITransformData
# Returns

void

# Inherited from

Component.onUpdate

# Properties

# priority

Readonly priority: number = 100

自定义组件的更新优先级。

# Overrides

Component.priority

# schema

Readonly schema: IComponentSchema

详见TransformSchema。

# Overrides

Component.schema

# EVENTS

Static EVENTS: string[] = []

# Inherited from

Component.EVENTS

# Accessors

# el

get el(): Element

挂载的元素。

# Returns

Element

# layer

get layer(): number

# Returns

number

set layer(value): void

# Parameters
Name Type
value number
# Returns

void

# node

get node(): default

# Returns

default

# position

get position(): Vector3

# Returns

Vector3

# quaternion

get quaternion(): Quaternion

# Returns

Quaternion

# rotation

get rotation(): Vector3

注意如果这里直接修改,使用弧度

# Returns

Vector3

# scale

get scale(): Vector3

# Returns

Vector3

# scene

get scene(): Scene

当前场景。

# Returns

Scene

# version

get version(): number

当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。

# Returns

number

# visible

get visible(): boolean

# Returns

boolean

set visible(value): void

# Parameters
Name Type
value boolean
# Returns

void

# worldForward

get worldForward(): Vector3

获取世界前向向量,注意不可修改

# Returns

Vector3

# worldMatrix

get worldMatrix(): Matrix4

获取世界矩阵,注意不可修改

# Returns

Matrix4

# worldPosition

get worldPosition(): Vector3

获取世界绝对位移,注意不可修改

# Returns

Vector3

# worldQuaternion

get worldQuaternion(): Quaternion

获取世界绝对旋转,注意不可修改

# Returns

Quaternion

# worldRight

get worldRight(): Vector3

获取世界右向向量,注意不可修改

# Returns

Vector3

# worldScale

get worldScale(): Vector3

获取世界绝对缩放,注意不可修改

# Returns

Vector3

# worldUp

get worldUp(): Vector3

获取世界上向向量,注意不可修改

# Returns

Vector3

# Methods

# getData

getData<T>(key): ITransformData[T]

获取一个当前值。

# Type parameters
Name Type
T extends keyof ITransformData
# Parameters
Name Type
key T
# Returns

ITransformData[T]

# Inherited from

Component.getData

# setData

setData(data): void

不通过xml而是直接设置data,注意值的类型需要和schema中一致。

# Parameters
Name Type
data Partial<ITransformData>
# Returns

void

# Inherited from

Component.setData

# setDataOne

setDataOne<T>(key, value): void

设置一个数据。

# Type parameters
Name Type
T extends keyof ITransformData
# Parameters
Name Type
key T
value ITransformData[T]
# Returns

void

# Inherited from

Component.setDataOne

# setLocalMatrix

setLocalMatrix(mat): void

直接设置本地矩阵。

# Parameters
Name Type
mat Matrix4
# Returns

void