类: UIRenderer
extend:
Renderer
导入示例:
import { UIRenderer } from "cc";
所有支持渲染的 UI 组件的基类。 这个组件会设置 Node 上的 NodeUIProperties.uiComp。
索引
构造函数
-
UIRenderer
public
静态属性
-
PostAssembler
static
后置渲染数据组装器
-
BlendState
static
混合模式枚举类型
-
Assembler
static
渲染数据组装器
静态方法
属性
-
useVertexOpacity
public
-
stencilStage
public
组件模板缓冲状态 (注意:请不要直接修改它的值)
-
renderEntity
public
-
renderData
public
-
customMaterial
public
用户自定材质
-
color
public
渲染颜色,一般情况下会和贴图颜色相乘。
-
batcher
public
-
_assembler
protected
-
_color
protected
-
_customMaterial
protected
-
_dirtyVersion
protected
-
_dstBlendFactor
protected
-
_dstBlendFactorCache
protected
-
_instanceMaterialType
protected
-
_internalId
protected
-
_lastParent
protected
-
_postAssembler
protected
-
_renderData
protected
-
_renderDataFlag
protected
-
_renderEntity
protected
-
_renderFlag
protected
-
_srcBlendFactor
protected
-
_srcBlendFactorCache
protected
-
_stencilStage
protected
-
_useVertexOpacity
protected
标记组件是否逐顶点计算透明度
方法
-
updateRenderer
public
-
setTextureDirty
public
-
setNodeDirty
public
-
setEntityOpacity
public
-
setEntityEnabled
public
-
setEntityColor
public
-
requestRenderData
public
请求新的渲染数据对象。
-
postUpdateAssembler
public
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。注意:不要手动调用该函数,除非你理解整个流程。
-
markForUpdateRenderData
public
标记当前组件的渲染数据为已修改状态,这样渲染数据才会重新计算。
-
fillBuffers
public
-
destroyRenderData
public
销毁当前渲染数据。
-
_canRender
protected
-
_colorDirty
protected
-
_flushAssembler
protected
-
_nodeStateChange
protected
-
_postCanRender
protected
-
_postRender
protected
-
_render
protected
-
_updateBlendFunc
protected
-
_updateBuiltinMaterial
protected
-
_updateColor
protected
-
createRenderEntity
protected
-
setEntityColorDirty
public
继承属性
-
uuid
public
组件的 uuid,用于编辑器。
-
sharedMaterials
public
-
sharedMaterial
public
获取默认的共享材质
-
name
public
-
materials
public
所有模型材质。
-
material
public
获取默认的材质实例,如果还没有创建,将会根据默认共享材质创建一个新的材质实例
-
isValid
public
表示该对象是否可用(被 destroy 后将不可用)。
当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
如果希望判断当前帧是否调用过 destroy,请使用 isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
如果希望判断当前帧是否调用过 destroy,请使用 isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
-
hideFlags
public
在继承 CCObject 对象后,控制是否需要隐藏,锁定,序列化等功能。
-
enabledInHierarchy
public
表示该组件是否被启用并且所在的节点也处于激活状态。
-
enabled
public
表示该组件自身是否启用。
-
system
static
-
EventHandler
static
-
node
public
该组件被附加到的节点。组件总会附加到一个节点。
-
__editorExtras__
protected
-
__prefab
protected
-
_enabled
protected
-
_id
protected
-
_materialInstances
protected
-
_materials
protected
-
_name
protected
-
_objFlags
protected
-
_sceneGetter
protected
-
__scriptAsset
protected
-
_isOnLoadCalled
protected
返回一个值用来判断 onLoad 是否被调用过,不等于 0 时调用过,等于 0 时未调用。
继承方法
-
unscheduleAllCallbacks
public
取消调度所有已调度的回调函数。
-
unschedule
public
取消调度一个自定义的回调任务。
-
setSharedMaterial
public
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
-
setMaterialInstance
public
获取指定子模型的材质实例。
-
setMaterial
public
-
scheduleOnce
public
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
-
schedule
public
使用定时器系统调度一个自定义的回调任务。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
-
resetInEditor
public
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
-
onRestore
public
-
onLostFocusInEditor
public
-
onLoad
public
-
onFocusInEditor
public
-
onEnable
public
-
onDisable
public
-
onDestroy
public
-
getSharedMaterial
public
获取指定子模型的共享材质资源。
-
getRenderMaterial
public
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
-
getMaterialInstance
public
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
-
getMaterial
public
-
getComponentsInChildren
public
递归查找自身或所有子节点中指定类型的组件。
-
getComponents
public
返回节点上指定类型的所有组件。
-
getComponentInChildren
public
递归查找所有子节点中第一个匹配指定类型的组件。
-
getComponent
public
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
-
destroy
public
-
addComponent
public
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
-
__preload
protected
-
_clearMaterials
protected
-
_destroyImmediate
protected
-
_destruct
protected
清理实例的所有引用注意:此方法不会清理实例上的 getter 与 setter 方法。
-
_getLocalBounds
protected
如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB),以便编辑器的场景视图可以正确地执行点选测试。
-
_getRenderScene
protected
-
_instantiate
protected
-
_onMaterialModified
protected
-
_onPreDestroy
protected
-
lateUpdate
protected
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
start
protected
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
update
protected
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
_deferredDestroy
static
详情
构造函数
public UIRenderer () : UIRenderer
返回值: UIRenderer
静态属性
后置渲染数据组装器
Defined in
cocos/2d/framework/ui-renderer.ts:137
混合模式枚举类型
Defined in
cocos/2d/framework/ui-renderer.ts:125
渲染数据组装器
Defined in
cocos/2d/framework/ui-renderer.ts:131
静态方法
static
Defined in
cocos/2d/framework/ui-renderer.ts:524
属性
public useVertexOpacity : boolean
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:220
public stencilStage : Stage
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
组件模板缓冲状态 (注意:请不要直接修改它的值)
Defined in
cocos/2d/framework/ui-renderer.ts:229
public renderEntity : RenderEntity
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:295
public renderData : null | RenderData
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:205
渲染颜色,一般情况下会和贴图颜色相乘。
Defined in
cocos/2d/framework/ui-renderer.ts:186
public batcher : UI
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:288
Defined in
cocos/2d/framework/ui-renderer.ts:257
protected _color : Color
Defined in
cocos/2d/framework/ui-renderer.ts:253
Defined in
cocos/2d/framework/ui-renderer.ts:240
protected _dirtyVersion : number
default: -1
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:274
Defined in
cocos/2d/framework/ui-renderer.ts:251
Defined in
cocos/2d/framework/ui-renderer.ts:269
Defined in
cocos/2d/framework/ui-renderer.ts:267
protected _internalId : number
default: -1
deprecated
Deprecated: Since v3.7.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/2d/framework/ui-renderer.ts:278
Defined in
cocos/2d/framework/ui-renderer.ts:308
Defined in
cocos/2d/framework/ui-renderer.ts:258
Defined in
cocos/2d/framework/ui-renderer.ts:201
Defined in
cocos/2d/framework/ui-renderer.ts:262
protected _renderEntity : RenderEntity
Defined in
cocos/2d/framework/ui-renderer.ts:265
Defined in
cocos/2d/framework/ui-renderer.ts:263
Defined in
cocos/2d/framework/ui-renderer.ts:243
Defined in
cocos/2d/framework/ui-renderer.ts:268
protected _stencilStage : Stage
default: Stage.DISABLED
Defined in
cocos/2d/framework/ui-renderer.ts:255
标记组件是否逐顶点计算透明度
Defined in
cocos/2d/framework/ui-renderer.ts:306
方法
Defined in
cocos/2d/framework/ui-renderer.ts:421
Defined in
cocos/2d/framework/ui-renderer.ts:653
Defined in
cocos/2d/framework/ui-renderer.ts:644
Defined in
cocos/2d/framework/ui-renderer.ts:552
Defined in
cocos/2d/framework/ui-renderer.ts:561
Defined in
cocos/2d/framework/ui-renderer.ts:543
请求新的渲染数据对象。
Defined in
cocos/2d/framework/ui-renderer.ts:398
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。
它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。
注意:不要手动调用该函数,除非你理解整个流程。
Defined in
cocos/2d/framework/ui-renderer.ts:447
标记当前组件的渲染数据为已修改状态,这样渲染数据才会重新计算。
Defined in
cocos/2d/framework/ui-renderer.ts:373
Defined in
cocos/2d/framework/ui-renderer.ts:433
Defined in
cocos/2d/framework/ui-renderer.ts:409
Defined in
cocos/2d/framework/ui-renderer.ts:461
Defined in
cocos/2d/framework/ui-renderer.ts:604
Defined in
cocos/2d/framework/ui-renderer.ts:639
Defined in
cocos/2d/framework/ui-renderer.ts:590
Defined in
cocos/2d/framework/ui-renderer.ts:470
Defined in
cocos/2d/framework/ui-renderer.ts:457
Defined in
cocos/2d/framework/ui-renderer.ts:453
Defined in
cocos/2d/framework/ui-renderer.ts:570
Defined in
cocos/2d/framework/ui-renderer.ts:617
Defined in
cocos/2d/framework/ui-renderer.ts:496
protected createRenderEntity () : RenderEntity
返回值: RenderEntity
Defined in
cocos/2d/framework/ui-renderer.ts:661
Defined in
cocos/2d/framework/ui-renderer.ts:534
继承属性
组件的 uuid,用于编辑器。
示例
import { log } from 'cc';
log(comp.uuid);
Defined in
cocos/scene-graph/component.ts:105
: (
Defined in
cocos/2d/framework/ui-renderer.ts:146
Defined in
cocos/scene-graph/component.ts:75
所有模型材质。
Defined in
cocos/misc/renderer.ts:115
获取默认的材质实例,如果还没有创建,将会根据默认共享材质创建一个新的材质实例
Defined in
cocos/misc/renderer.ts:100
表示该对象是否可用(被 destroy 后将不可用)。
当一个对象的 `destroy` 调用以后,会在这一帧结束后才真正销毁。
因此从下一帧开始 `isValid` 就会返回 false,而当前帧内 `isValid` 仍然会是 true。
如果希望判断当前帧是否调用过 `destroy`,请使用 `isValid(obj, true)`,不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
当一个对象的 `destroy` 调用以后,会在这一帧结束后才真正销毁。
因此从下一帧开始 `isValid` 就会返回 false,而当前帧内 `isValid` 仍然会是 true。
如果希望判断当前帧是否调用过 `destroy`,请使用 `isValid(obj, true)`,不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
示例
import { Node, log } from 'cc';
const node = new Node();
log(node.isValid); // true
node.destroy();
log(node.isValid); // true, still valid in this frame
// after a frame...
log(node.isValid); // false, destroyed in the end of last frame
Defined in
cocos/core/data/object.ts:278
在继承 CCObject 对象后,控制是否需要隐藏,锁定,序列化等功能。
Defined in
cocos/core/data/object.ts:244
表示该组件是否被启用并且所在的节点也处于激活状态。
示例
import { log } from 'cc';
log(comp.enabledInHierarchy);
Defined in
cocos/scene-graph/component.ts:156
表示该组件自身是否启用。
示例
import { log } from 'cc';
comp.enabled = true;
log(comp.enabled);
Defined in
cocos/scene-graph/component.ts:129
Defined in
cocos/scene-graph/component.ts:176
Defined in
cocos/scene-graph/component.ts:59
该组件被附加到的节点。组件总会附加到一个节点。
示例
import { log } from 'cc';
log(comp.node);
Defined in
cocos/scene-graph/component.ts:188
protected __editorExtras__ : unknown
继承自:__editorExtras__
Defined in
cocos/core/data/object.ts:195
Defined in
cocos/scene-graph/component.ts:200
protected _enabled : boolean
default: true
deprecated
继承自:_enabled
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/scene-graph/component.ts:194
protected _id : string
deprecated
继承自:_id
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/scene-graph/component.ts:211
Defined in
cocos/misc/renderer.ts:143
Defined in
cocos/2d/framework/ui-renderer.ts:238
Defined in
cocos/core/data/object.ts:207
Defined in
cocos/core/data/object.ts:200
Defined in
cocos/scene-graph/component.ts:205
protected __scriptAsset : null
deprecated
继承自:Renderer.__scriptAsset
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/scene-graph/component.ts:116
protected _isOnLoadCalled : number
deprecated
继承自:Renderer._isOnLoadCalled
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
返回一个值用来判断 onLoad 是否被调用过,不等于 0 时调用过,等于 0 时未调用。
示例
import { log } from 'cc';
log(this._isOnLoadCalled > 0);
Defined in
cocos/scene-graph/component.ts:172
继承方法
public unscheduleAllCallbacks () : void
继承自:Renderer.unscheduleAllCallbacks
取消调度所有已调度的回调函数。
返回值: void
示例
this.unscheduleAllCallbacks();
Defined in
cocos/scene-graph/component.ts:512
继承自:Renderer.unschedule
取消调度一个自定义的回调任务。
Defined in
cocos/scene-graph/component.ts:496
(
继承自:Renderer.setSharedMaterial
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
Defined in
cocos/misc/renderer.ts:175
继承自:Renderer.setMaterialInstance
获取指定子模型的材质实例。
Defined in
cocos/misc/renderer.ts:218
deprecated
继承自:Renderer.setMaterial
Defined in
cocos/misc/renderer.ts:155
继承自:Renderer.scheduleOnce
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
Defined in
cocos/scene-graph/component.ts:483
继承自:Renderer.schedule
使用定时器系统调度一个自定义的回调任务。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
输入参数
名称 | 类型 | 描述 |
---|---|---|
callback | any | The callback function of the task |
interval | number | The time interval between each invocation |
repeat | number | The repeat count of this task, the task will be invoked (repeat + 1) times, use [[24197]] to repeat a task forever |
delay | number | The delay time for the first invocation, Unit: s |
返回值: void
示例
import { log } from 'cc';
this.schedule((dt) => void log(`time: ${dt}`), 1);
Defined in
cocos/scene-graph/component.ts:450
继承自:Renderer.resetInEditor
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
Defined in
cocos/scene-graph/component.ts:670
Defined in
cocos/2d/framework/ui-renderer.ts:336
Defined in
cocos/scene-graph/component.ts:663
Defined in
cocos/2d/framework/ui-renderer.ts:310
Defined in
cocos/scene-graph/component.ts:661
Defined in
cocos/2d/framework/ui-renderer.ts:321
Defined in
cocos/2d/framework/ui-renderer.ts:342
Defined in
cocos/2d/framework/ui-renderer.ts:354
(
继承自:Renderer.getSharedMaterial
获取指定子模型的共享材质资源。
Defined in
cocos/misc/renderer.ts:163
继承自:Renderer.getRenderMaterial
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
Defined in
cocos/misc/renderer.ts:249
继承自:Renderer.getMaterialInstance
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
Defined in
cocos/misc/renderer.ts:196
deprecated
继承自:Renderer.getMaterial
Defined in
cocos/misc/renderer.ts:148
public getComponentsInChildren <T extends Component> (classConstructor : Constructor < Component > | AbstractedConstructor < Component >) : Component []
继承自:Renderer.getComponentsInChildren
递归查找自身或所有子节点中指定类型的组件。
继承自:Renderer.getComponentsInChildren
递归查找自身或所有子节点中指定类型的组件。
Defined in
cocos/scene-graph/component.ts:359
public getComponents <T extends Component> (classConstructor : Constructor < Component > | AbstractedConstructor < Component >) : Component []
继承自:Renderer.getComponents
返回节点上指定类型的所有组件。
继承自:Renderer.getComponents
返回节点上指定类型的所有组件。
Defined in
cocos/scene-graph/component.ts:303
public getComponentInChildren <T extends Component> (classConstructor : Constructor < Component > | AbstractedConstructor < Component >) : null | Component
继承自:Renderer.getComponentInChildren
递归查找所有子节点中第一个匹配指定类型的组件。
继承自:Renderer.getComponentInChildren
递归查找所有子节点中第一个匹配指定类型的组件。
Defined in
cocos/scene-graph/component.ts:331
public getComponent <T extends Component> (classConstructor : Constructor < Component > | AbstractedConstructor < Component >) : null | Component
继承自:Renderer.getComponent
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
继承自:Renderer.getComponent
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
Defined in
cocos/scene-graph/component.ts:270
Defined in
cocos/scene-graph/component.ts:379
public addComponent <T extends Component> (classConstructor : Constructor < Component >) : null | Component
继承自:Renderer.addComponent
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
继承自:Renderer.addComponent
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
Defined in
cocos/scene-graph/component.ts:237
Defined in
cocos/2d/framework/ui-renderer.ts:314
Defined in
cocos/misc/renderer.ts:265
Defined in
cocos/core/data/object.ts:368
protected _destruct () : void
deprecated
继承自:Renderer._destruct
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
清理实例的所有引用
注意:此方法不会清理实例上的 getter 与 setter 方法。
返回值: void
示例
// You can override the _destruct method if you need, for example:
_destruct: function () {
for (var key in this) {
if (this.hasOwnProperty(key)) {
switch (typeof this[key]) {
case 'string':
this[key] = '';
break;
case 'object':
case 'function':
this[key] = null;
break;
}
}
}
Defined in
cocos/core/data/object.ts:352
继承自:Renderer._getLocalBounds
如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB),
以便编辑器的场景视图可以正确地执行点选测试。
Defined in
cocos/scene-graph/component.ts:684
Defined in
cocos/scene-graph/component.ts:218
deprecated
继承自:Renderer._instantiate
Defined in
cocos/scene-graph/component.ts:419
Defined in
cocos/2d/framework/ui-renderer.ts:609
Defined in
cocos/scene-graph/component.ts:405
继承自:Renderer.lateUpdate
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
Defined in
cocos/scene-graph/component.ts:546
protected start () : void
继承自:Renderer.start
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
返回值: void
Defined in
cocos/scene-graph/component.ts:604
继承自:Renderer.update
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
Defined in
cocos/scene-graph/component.ts:529
Defined in
cocos/core/data/object.ts:171