场景,系统核心之一。
Scene是元素的一种,对应于xr-scene标签。
作为整个xr-frame组件的根节点,它提供了整个组件运作的一些基本能力,挂在了各大系统,驱动生命周期循环。
Hierarchy
-
↳
Scene
Table of contents
Constructors
Properties
Accessors
- animation
- ar
- assets
- event
- frameHeight
- frameWidth
- gizmo
- height
- id
- inXML
- name
- parent
- physics
- ready
- render
- rootShadow
- scene
- share
- timestamp
- video
- width
Methods
- addChild
- addComponent
- createEffect
- createElement
- createGeometry
- createImage
- createMaterial
- createPostProcess
- createRenderTexture
- createTexture
- createUniformBlock
- createUniformBlockDesc
- createVertexLayout
- createVideoTexture
- dfs
- getChildAtIndex
- getChildByClass
- getChildByFilter
- getChildByName
- getChildrenByFilter
- getChildrenByName
- getComponent
- getElementById
- getNodeById
- release
- removeChild
- removeComponent
- setAttribute
- setId
Constructors
constructor
• new Scene(_type, triggerEvent)
Parameters
| Name | Type |
|---|---|
_type |
string |
triggerEvent |
TFrameworkEventTrigger |
Inherited from
Properties
dataMapping
• Readonly dataMapping: Object
Element的数据映射。它是为了给组件的属性提供一个方便的用法,比如:
{
position: [transform, position]
}
就是将xml中写在这个Element的position直接映射到了transform组件的position属性上。
通常来讲,所有的驼峰如nodeId都会被映射为小写加中划线node-id。
Index signature
▪ [key: string]: string[]
Inherited from
defaultComponents
• Readonly defaultComponents: IEntityComponents
Element的默认组件集合,详见IEntityComponents。
Overrides
isScene
• Readonly isScene: boolean = true
TYPE
▪ Static TYPE: string = 'element'
Inherited from
Accessors
animation
• get animation(): AnimationSystem
动画系统。
Returns
ar
• get ar(): ARSystem
AR系统。
Returns
assets
• get assets(): AssetsSystem
资源系统。
Returns
event
• get event(): EventManager
事件管理器。
Returns
frameHeight
• get frameHeight(): number
显示分辨率高。
Returns
number
frameWidth
• get frameWidth(): number
显示分辨率宽。
Returns
number
gizmo
• get gizmo(): GizmoSystem
Gizmo系统。
Returns
height
• get height(): number
渲染分辨率高,一般物理点击事件之类的都是参考这个。
Returns
number
id
• get id(): string
写在xml上的那个id,要求唯一。
Returns
string
inXML
• get inXML(): boolean
元素是否在xml中,若是xr-shadow下的节点,则为false。
Returns
boolean
name
• get name(): string
名字,写在xml上的那个name,不唯一。
Returns
string
• set name(value): void
名字,写在xml上的那个name,不唯一。
Parameters
| Name | Type |
|---|---|
value |
string |
Returns
void
parent
• get parent(): Element
父元素。
Returns
physics
• get physics(): PhysicsSystem
物理系统。
Returns
ready
• get ready(): boolean
场景是否已经就绪。
Returns
boolean
render
• get render(): RenderSystem
渲染系统。
Returns
rootShadow
• get rootShadow(): XRShadow
一个可以用于快速挂载自己创建的Element的shadow节点。
Returns
scene
• get scene(): this
自身。
Returns
this
share
• get share(): ShareSystem
分享系统。
Returns
timestamp
• get timestamp(): number
当前时间戳(ms)。
Returns
number
video
• get video(): VideoSystem
视频系统。
Returns
width
• get width(): number
渲染分辨率宽,一般物理点击事件之类的都是参考这个。
Returns
number
Methods
addChild
▸ addChild(child): void
手动添加一个子节点,注意需要保证当前节点是xr-shadow或其子节点。
Parameters
| Name | Type |
|---|---|
child |
Element |
Returns
void
Inherited from
addComponent
▸ addComponent<T>(clz, options?): T
手动添加一个Component。
Type parameters
| Name | Type |
|---|---|
T |
extends Component<any, T> |
Parameters
| Name | Type |
|---|---|
clz |
() => T |
options? |
T["__DATA_TYPE"] |
Returns
T
Inherited from
createEffect
▸ createEffect(description): Effect
手动创建一个Effect资源。
Parameters
| Name | Type |
|---|---|
description |
IEffectAsset |
Returns
createElement
▸ createElement<T>(clz, attributes?): T
创建一个Element,但注意其只能作为xr-shadow的子孙节点,否则可能会出错!
Type parameters
| Name | Type |
|---|---|
T |
extends Element<T> |
Parameters
| Name | Type | Description |
|---|---|---|
clz |
(...args: any) => T |
- |
attributes? |
Object |
初始化的属性,同于xml中对应的标签属性。 |
Returns
T
createGeometry
▸ createGeometry(vertexLayout, vBuffer, iBuffer, indexType?): Geometry
手动创建一个Geometry资源。
Parameters
| Name | Type |
|---|---|
vertexLayout |
default |
vBuffer |
ArrayBufferView |
iBuffer |
ArrayBufferView |
indexType? |
EIndexType |
Returns
createImage
▸ createImage(autoRelease?): IImage
手动创建一个Image资源。
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
autoRelease |
boolean |
true |
此图片在第一次时候后是否释放原始数据,默认释放。 |
Returns
createMaterial
▸ createMaterial(effect, defaultUniforms?): Material
手动创建一个Material资源。
Parameters
| Name | Type |
|---|---|
effect |
Effect |
defaultUniforms? |
Object |
Returns
createPostProcess
▸ createPostProcess(options): PostProcess
手动创建一个PostProcess资源。
Parameters
| Name | Type |
|---|---|
options |
IPostProcessOptions |
Returns
createRenderTexture
▸ createRenderTexture(options?): RenderTexture
手动创建一个RenderTexture资源。
Parameters
| Name | Type |
|---|---|
options? |
IRenderTextureOptions |
Returns
createTexture
▸ createTexture(options): default
手动创建一个Texture资源。
Parameters
| Name | Type |
|---|---|
options |
ITextureOptions |
Returns
default
createUniformBlock
▸ createUniformBlock(descriptor): default
手动创建一个UniformBlock资源。
Parameters
| Name | Type |
|---|---|
descriptor |
default |
Returns
default
createUniformBlockDesc
▸ createUniformBlockDesc(options): default
手动创建一个UniformBlockDescriptor资源。
Parameters
| Name | Type |
|---|---|
options |
IUniformDescriptorOptions |
Returns
default
createVertexLayout
▸ createVertexLayout(options): default
手动创建一个VertexLayout资源。
Parameters
| Name | Type |
|---|---|
options |
IVertexLayoutOptions |
Returns
default
createVideoTexture
▸ createVideoTexture(options?): Promise<VideoTexture>
手动创建一个VideoTexture资源。
Parameters
| Name | Type |
|---|---|
options? |
IVideoTextureOptions |
Returns
Promise<VideoTexture>
dfs
▸ dfs<T>(callback, defaultParams?, excludeRoot?, stop?): void
递归遍历元素的所有子孙节点。
Type parameters
| Name | Type |
|---|---|
T |
extends unknown |
Parameters
| Name | Type |
|---|---|
callback |
(element: Element, params?: T) => T |
defaultParams? |
T |
excludeRoot? |
boolean |
stop |
(element: Element, params?: T) => boolean |
Returns
void
Inherited from
getChildAtIndex
▸ getChildAtIndex<T>(index): T
获取第index个子元素。
Type parameters
Parameters
| Name | Type |
|---|---|
index |
number |
Returns
T
Inherited from
getChildByClass
▸ getChildByClass<T>(clz): T
通过元素的类获取子元素。
Type parameters
Parameters
| Name | Type |
|---|---|
clz |
(...args: any[]) => T |
Returns
T
Inherited from
getChildByFilter
▸ getChildByFilter<T>(filter): T
通过filter获取子元素。
Type parameters
Parameters
| Name | Type |
|---|---|
filter |
(child: Element) => boolean |
Returns
T
Inherited from
getChildByName
▸ getChildByName<T>(name): T
通过元素的名字name获取子元素。
Type parameters
Parameters
| Name | Type |
|---|---|
name |
string |
Returns
T
Inherited from
getChildrenByFilter
▸ getChildrenByFilter(filter): Element[]
通过filter获取子元素列表。
Parameters
| Name | Type |
|---|---|
filter |
(child: Element) => boolean |
Returns
Element[]
Inherited from
getChildrenByName
▸ getChildrenByName(name): Element[]
通过元素的名字name获取子元素们。
Parameters
| Name | Type |
|---|---|
name |
string |
Returns
Element[]
Inherited from
getComponent
▸ getComponent<T>(clzName): T
获取一个Component,可以使用类或者名字获取。
Type parameters
| Name | Type |
|---|---|
T |
extends Component<any, T> |
Parameters
| Name | Type |
|---|---|
clzName |
string |
Returns
T
Inherited from
▸ getComponent<T>(clz): T
Type parameters
| Name | Type |
|---|---|
T |
extends Component<any, T> |
Parameters
| Name | Type |
|---|---|
clz |
() => T |
Returns
T
Inherited from
getElementById
▸ getElementById(id): Element
通过在wxml的元素上设置的id索引一个元素,id是唯一的。
Parameters
| Name | Type |
|---|---|
id |
string |
Returns
getNodeById
▸ getNodeById(nodeId): Transform
通过在wxml的元素上设置的node-id索引一个Transform组件,node-id是唯一的。
Parameters
| Name | Type |
|---|---|
nodeId |
string |
Returns
release
▸ release(): void
仅限自己创建的节点使用,否则后果自负。
Returns
void
Inherited from
removeChild
▸ removeChild(child): void
手动移除一个子节点,注意需要保证当前节点是xr-shadow或其子节点。
只调用removeChild没有办法走进子节点的onRelease里,需要手动调用子节点的release才行。
Parameters
| Name | Type |
|---|---|
child |
Element |
Returns
void
Inherited from
removeComponent
▸ removeComponent(clz): void
手动移除一个Component,注意保证其不在xml上。
Parameters
| Name | Type |
|---|---|
clz |
() => Component<any> |
Returns
void
Inherited from
setAttribute
▸ setAttribute(name, value): void
设置一个属性,对应于xml标签中的那些属性,值为字符串。
一般建议使用component的setData方法!!!
Parameters
| Name | Type |
|---|---|
name |
string |
value |
string |
Returns
void
Inherited from
setId
▸ setId(id): void
仅限自己创建的节点使用,否则后果自负。
Parameters
| Name | Type |
|---|---|
id |
string |
Returns
void