类: ArmatureDisplay

extend: UIRenderer

导入示例:

import { dragonBones } from "cc"; 
const { ArmatureDisplay } = dragonBones;

DragonBones 骨骼动画

Armature Display 具有对骨骼数据的引用并且存储了骨骼实例的状态, 它由当前的骨骼动作,slot 颜色,和可见的 slot attachments 组成。
多个 Armature Display 可以使用相同的骨骼数据,其中包括所有的动画,皮肤和 attachments。

索引

构造函数

静态属性

属性
当前骨骼中所有动画的时间缩放率。
当前动画组件维护的挂点数组。要挂载自定义节点到受动画驱动的骨骼上,必须先在此注册挂点。
骨骼数据所需的 Atlas Texture 数据。
骨骼数据包含了骨骼信息(绑定骨骼动作,slots,渲染顺序,attachments,皮肤等等)和动画但不持有任何状态。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
是否显示 bone 的 debug 信息。
当前的 Armature 名称。
当前播放的动画名称。
是否启用贴图预乘。当图片的透明区域出现色块时需要关闭该选项,当图片的半透明区域颜色变黑时需要启用该选项。
播放默认动画的循环次数 -1 表示使用配置文件中的默认值; 0 表示无限循环 >0 表示循环次数

方法
更新某个动画缓存, 预计算动画中所有帧数据,由于在单帧计算所有数据,所以较消耗性能。若想更新缓存,可使用 invalidAnimationCache 方法,具有较高性能。
若想切换渲染模式,最好在设置'dragonAsset'之前,先设置好渲染模式,否则有运行时开销。若在编辑中设置渲染模式,则无需担心设置次序的问题。
移除 DragonBones 事件监听器。
查询 Socket 路径
播放指定的动画.animName 指定播放动画的名称。playTimes 指定播放动画的次数。-1 为使用配置文件中的次数。0 为无限循环播放。>0 为动画的重复次数。
添加 DragonBones 一次性事件监听器,回调会在第一时间被触发后删除自身。
  • on public
添加 DragonBones 事件监听器,与 addEventListener 作用相同。
移除 DragonBones 事件监听器,与 removeEventListener 作用相同。
当前是否处于缓存模式。
使动画缓存失效,之后会在每帧重新计算。
获取 DragonBones 数据中所有的 armature 名称
缓存龙骨数据的key值,换装的时会使用到该值,作为dragonbonesName使用
获取指定的 armature 的所有动画名称。
构建指定名称的 armature 对象
获取 ArmatureDisplay 当前使用的 Armature 对象
添加 DragonBones 事件监听器。

继承属性
组件的 uuid,用于编辑器。
组件模板缓冲状态 (注意:请不要直接修改它的值)
获取默认的共享材质
所有模型材质。
获取默认的材质实例,如果还没有创建,将会根据默认共享材质创建一个新的材质实例
表示该对象是否可用(被 destroy 后将不可用)。
当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
如果希望判断当前帧是否调用过 destroy,请使用 isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
在继承 CCObject 对象后,控制是否需要隐藏,锁定,序列化等功能。
表示该组件是否被启用并且所在的节点也处于激活状态。
表示该组件自身是否启用。
渲染颜色,一般情况下会和贴图颜色相乘。
后置渲染数据组装器
混合模式枚举类型
渲染数据组装器
该组件被附加到的节点。组件总会附加到一个节点。
  • _id protected
标记组件是否逐顶点计算透明度
返回一个值用来判断 onLoad 是否被调用过,不等于 0 时调用过,等于 0 时未调用。

继承方法
取消调度所有已调度的回调函数。
取消调度一个自定义的回调任务。
获取指定子模型的材质实例。
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
使用定时器系统调度一个自定义的回调任务。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
请求新的渲染数据对象。
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。注意:不要手动调用该函数,除非你理解整个流程。
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
获取指定子模型的共享材质资源。
递归查找自身或所有子节点中指定类型的组件。
返回节点上指定类型的所有组件。
递归查找所有子节点中第一个匹配指定类型的组件。
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
清理实例的所有引用注意:此方法不会清理实例上的 getter 与 setter 方法。
如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB),以便编辑器的场景视图可以正确地执行点选测试。
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。

详情

构造函数

public ArmatureDisplay () :
ArmatureDisplay
返回值: ArmatureDisplay

静态属性

public AnimationCacheMode : typeof AnimationCacheMode
default: AnimationCacheMode
static

属性

public timeScale : number
当前骨骼中所有动画的时间缩放率。
public sockets : DragonBoneSocket []
当前动画组件维护的挂点数组。要挂载自定义节点到受动画驱动的骨骼上,必须先在此注册挂点。
public socketNodes : Map < string, Node >
public enableBatch : boolean
public drawList : RecyclePool < ArmatureDisplayDrawData >
public dragonAtlasAsset : null | DragonBonesAtlasAsset
骨骼数据所需的 Atlas Texture 数据。
public dragonAsset : null | DragonBonesAsset
骨骼数据包含了骨骼信息(绑定骨骼动作,slots,渲染顺序, attachments,皮肤等等)和动画但不持有任何状态。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
public debugBones : boolean
是否显示 bone 的 debug 信息。
public armatureName : string
当前的 Armature 名称。
public animationName : string
当前播放的动画名称。
public premultipliedAlpha : boolean
default: false
是否启用贴图预乘。 当图片的透明区域出现色块时需要关闭该选项,当图片的半透明区域颜色变黑时需要启用该选项。
public playTimes : number
default: -1
播放默认动画的循环次数 -1 表示使用配置文件中的默认值; 0 表示无限循环 >0 表示循环次数
public maxVertexCount : number
default: 0
public maxIndexCount : number
default: 0
public attachUtil : AttachUtil
protected _accTime : number
default: 0
protected _animationIndexValue :
default: 0
protected _animationName : string
default: ''
protected _armature : null | Armature
default: null
protected _armatureCache : null | refCount
default: null
protected _armatureKey : string
default: ''
protected _armatureName : string
default: ''
protected _cacheMode : AnimationCacheMode
default: AnimationCacheMode.REALTIME
protected _cacheModeEnum : any
protected _cachedSockets : Map < string, BoneIndex >
protected _curFrame : null | ArmatureFrame
default: null
protected _debugBones : boolean
default: false
protected _debugDraw : null | enabledInHierarchy
default: null
protected _defaultArmatureIndexValue : default
default: DefaultArmaturesEnum.default
protected _defaultCacheModeValue : AnimationCacheMode
default: AnimationCacheMode.REALTIME
protected _displayProxy : null | _nativeAsset
default: null
protected _dragonAsset : null | DragonBonesAsset
default: null
protected _dragonAtlasAsset : null | DragonBonesAtlasAsset
default: null
protected _drawIdx : number
default: 0
protected _drawInfoList : RenderDrawInfo []
default: []
protected _drawList : RecyclePool < ArmatureDisplayDrawData >
protected _enableBatch : boolean
default: false
protected _enumAnimations : any
protected _enumArmatures : any
protected _eventTarget : Empty & IEventified
protected _factory : null | CCFactory
default: null
protected _frameCache : null | AnimationCache
default: null
protected _inited : any
protected _materialCache : { }
[ key string ]: MaterialInstance
protected _playCount : number
default: 0
protected _playTimes : number
default: -1
protected _playing : boolean
default: false
protected _preCacheMode : number
default: -1
protected _socketNodes : Map < string, Node >
protected _sockets : DragonBoneSocket []
default: []
protected _timeScale : number
default: 1
protected _animationIndex :
protected _defaultArmatureIndex : default
protected _defaultCacheMode : AnimationCacheMode

方法

public updateAnimationCache (animName : string) :
void
更新某个动画缓存, 预计算动画中所有帧数据,由于在单帧计算所有数据,所以较消耗性能。 若想更新缓存,可使用 invalidAnimationCache 方法,具有较高性能。
输入参数
名称类型描述
animNamestring
返回值: void
public updateAnimation (dt : any) :
void
输入参数
名称类型描述
dtany-
返回值: void
public setAnimationCacheMode (cacheMode : AnimationCacheMode) :
void
若想切换渲染模式,最好在设置'dragonAsset'之前,先设置好渲染模式,否则有运行时开销。 若在编辑中设置渲染模式,则无需担心设置次序的问题。
输入参数
名称类型描述
cacheModeAnimationCacheMode-
返回值: void

示例

armatureDisplay.setAnimationCacheMode(dragonBones.ArmatureDisplay.AnimationCacheMode.SHARED_CACHE); 
public removeEventListener (eventType : any, listener : any, target : any) :
void
移除 DragonBones 事件监听器。
输入参数
名称类型描述
eventTypeany-
listenerany-
targetany-
返回值: void
public querySockets () :
string []
返回值: string []
public querySocketPathByName (name : string) :
string []
查询 Socket 路径
输入参数
名称类型描述
namestringSlot name or Bone name
返回值: string []
public playAnimation (animName : string, playTimes ?: number) :
null | AnimationState
播放指定的动画. animName 指定播放动画的名称。 playTimes 指定播放动画的次数。 -1 为使用配置文件中的次数。 0 为无限循环播放。 >0 为动画的重复次数。
输入参数
名称类型描述
animNamestring-
playTimesnumber-
返回值: null | AnimationState
public once (eventType : string, listener : any, target : any) :
void
添加 DragonBones 一次性事件监听器,回调会在第一时间被触发后删除自身。
输入参数
名称类型描述
eventTypestring-
listeneranyThe callback that will be invoked when the event is dispatched.
targetany-
返回值: void
public on (eventType : string, listener : any, target : any) :
void
添加 DragonBones 事件监听器,与 addEventListener 作用相同。
输入参数
名称类型描述
eventTypestring-
listeneranyThe callback that will be invoked when the event is dispatched.
targetany-
返回值: void
public off (eventType : string, listener : any, target : any) :
void
移除 DragonBones 事件监听器,与 removeEventListener 作用相同。
输入参数
名称类型描述
eventTypestring-
listenerany-
targetany-
返回值: void
public isAnimationCached () :
boolean
当前是否处于缓存模式。
返回值: boolean
public invalidAnimationCache () :
void
使动画缓存失效,之后会在每帧重新计算。
返回值: void
public initFactory () :
void
返回值: void
public getMaterialForBlend (src : BlendFactor, dst : BlendFactor) :
MaterialInstance
输入参数
名称类型描述
srcBlendFactor-
dstBlendFactor-
返回值: MaterialInstance
public getArmatureNames () :
string []
获取 DragonBones 数据中所有的 armature 名称
返回值: string []
public getArmatureKey () :
string
缓存龙骨数据的key值,换装的时会使用到该值,作为dragonbonesName使用
返回值: string

示例

let factory = dragonBones.CCFactory.getInstance();
let needChangeSlot = needChangeArmature.armature().getSlot("changeSlotName");
factory.replaceSlotDisplay(toChangeArmature.getArmatureKey(), "armatureName", "slotName", "displayName", needChangeSlot); 
public getAnimationNames (armatureName : string) :
string []
获取指定的 armature 的所有动画名称。
输入参数
名称类型描述
armatureNamestring-
返回值: string []
public buildArmature (armatureName : string, node ?: Node) :
ArmatureDisplay
构建指定名称的 armature 对象
输入参数
名称类型描述
armatureNamestring-
nodeNode-
返回值: ArmatureDisplay
public armature () :
null | Armature
获取 ArmatureDisplay 当前使用的 Armature 对象
返回值: null | Armature
public addEventListener (eventType : any, listener : any, target : any) :
void
添加 DragonBones 事件监听器。
输入参数
名称类型描述
eventTypeany-
listeneranyThe callback that will be invoked when the event is dispatched.
targetany-
返回值: void
protected _buildArmature () :
void
返回值: void
protected _cleanMaterialCache () :
void
返回值: void
protected _emitCacheCompleteEvent () :
void
返回值: void
protected _indexBoneSockets () :
void
返回值: void
protected _init () :
void
返回值: void
protected _parseDragonAtlasAsset () :
void
返回值: void
protected _refresh () :
void
返回值: void
protected _requestDrawData (material : Vec3, texture : Texture2D, indexOffset : number, indexCount : number) :
ArmatureDisplayDrawData
输入参数
名称类型描述
materialVec3-
textureTexture2D-
indexOffsetnumber-
indexCountnumber-
返回值: ArmatureDisplayDrawData
protected _updateAnimEnum () :
void
返回值: void
protected _updateArmatureEnum () :
void
返回值: void
protected _updateBatch () :
void
返回值: void
protected _updateCacheModeEnum () :
void
返回值: void
protected _updateDebugDraw () :
void
返回值: void
protected _updateSocketBindings () :
void
返回值: void
protected _verifySockets (sockets : DragonBoneSocket []) :
void
输入参数
名称类型描述
socketsDragonBoneSocket []-
返回值: void
public getMaterialTemplate () :
Vec3
返回值: Vec3
public requestDrawInfo (idx : number) :
RenderDrawInfo
输入参数
名称类型描述
idxnumber-
返回值: RenderDrawInfo

继承属性

public uuid : string
继承自:UIRenderer.uuid
组件的 uuid,用于编辑器。

示例

import { log } from 'cc';
log(comp.uuid); 
public useVertexOpacity : boolean
继承自:UIRenderer.useVertexOpacity
public stencilStage : Stage
继承自:UIRenderer.stencilStage
组件模板缓冲状态 (注意:请不要直接修改它的值)
public sharedMaterials : ( null | Vec3 ) []
继承自:UIRenderer.sharedMaterials
public sharedMaterial : null | Vec3
继承自:UIRenderer.sharedMaterial
获取默认的共享材质
public replicated : boolean
继承自:UIRenderer.replicated
public renderEntity : RenderEntity
继承自:UIRenderer.renderEntity
public renderData : null | name
继承自:UIRenderer.renderData
public name : string
继承自:UIRenderer.name
public materials : ( null | MaterialInstance ) []
继承自:UIRenderer.materials
所有模型材质。
public material : null | MaterialInstance
继承自:UIRenderer.material
获取默认的材质实例,如果还没有创建,将会根据默认共享材质创建一个新的材质实例
public isValid : boolean
继承自:UIRenderer.isValid
表示该对象是否可用(被 destroy 后将不可用)。
当一个对象的 `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 
public hideFlags : getTranslation
继承自:UIRenderer.hideFlags
在继承 CCObject 对象后,控制是否需要隐藏,锁定,序列化等功能。
public enabledInHierarchy : boolean
继承自:UIRenderer.enabledInHierarchy
表示该组件是否被启用并且所在的节点也处于激活状态。

示例

import { log } from 'cc';
log(comp.enabledInHierarchy); 
public enabled : boolean
继承自:UIRenderer.enabled
表示该组件自身是否启用。

示例

import { log } from 'cc';
comp.enabled = true;
log(comp.enabled); 
public customMaterial : null | Vec3
public color : Readonly < Buffer >
继承自:UIRenderer.color
渲染颜色,一般情况下会和贴图颜色相乘。
public batcher : _uploadData
继承自:UIRenderer.batcher
public system : null
default: null
static
继承自:UIRenderer.system
public PostAssembler : null | IAssemblerManager
default: null
static
继承自:UIRenderer.PostAssembler
后置渲染数据组装器
public EventHandler : typeof screenPointToRay
default: EventHandler
static
继承自:UIRenderer.EventHandler
public BlendState : typeof BlendFactor
default: BlendFactor
static
继承自:start
混合模式枚举类型
public Assembler : IAssemblerManager
static
继承自:UIRenderer.Assembler
渲染数据组装器
public node : Node
default: NullNode
继承自:UIRenderer.node
该组件被附加到的节点。组件总会附加到一个节点。

示例

import { log } from 'cc';
log(comp.node); 
protected __editorExtras__ : unknown
继承自:UIRenderer.__editorExtras__
protected __prefab : null | fromHEX
default: null
继承自:UIRenderer.__prefab
protected _assembler : null | IAssembler
default: null
继承自:_destroyImmediate
protected _color : Buffer
继承自:_destruct
protected _customMaterial : null | Vec3
default: null
继承自:UIRenderer._customMaterial
protected _dirtyVersion : number
default: -1
protected _dstBlendFactor : BlendFactor
default: BlendFactor.ONE_MINUS_SRC_ALPHA
继承自:UIRenderer._dstBlendFactor
protected _dstBlendFactorCache : BlendFactor
default: BlendFactor.ONE_MINUS_SRC_ALPHA
protected _enabled : boolean
default: true
deprecated
继承自:UIRenderer._enabled
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
protected _id : string
deprecated
继承自:UIRenderer._id
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
protected _instanceMaterialType : number
default: -1
protected _internalId : number
default: -1
继承自:UIRenderer
protected _lastParent : null | Node
default: null
继承自:Node
protected _materialInstances : ( null | MaterialInstance ) []
default: []
继承自:fillBuffers
protected _materials : ( null | Vec3 ) []
default: []
继承自:UIRenderer._materials
protected _name : string
继承自:addComponent
protected _objFlags : number
继承自:RenderScene
protected _postAssembler : null | IAssembler
default: null
继承自:UIRenderer._postAssembler
protected _renderData : null | name
default: null
继承自:_getLocalBounds
protected _renderDataFlag : boolean
default: true
继承自:__editorExtras__
protected _renderEntity : RenderEntity
继承自:ADD_COLOR
protected _renderFlag : boolean
default: true
protected _sceneGetter : null | ( )
default: null
protected _srcBlendFactor : BlendFactor
default: BlendFactor.SRC_ALPHA
继承自:isValid
protected _srcBlendFactorCache : BlendFactor
default: BlendFactor.SRC_ALPHA
继承自:GRAYSCALE
protected _stencilStage : Stage
default: Stage.DISABLED
继承自:UIRenderer._stencilStage
protected _useVertexOpacity : boolean
default: false
继承自:UIRenderer._useVertexOpacity
标记组件是否逐顶点计算透明度
protected __scriptAsset : null
deprecated
继承自:UIRenderer.__scriptAsset
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
protected _isOnLoadCalled : number
deprecated
继承自:UIRenderer._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); 

继承方法

public setEntityColorDirtyRecursively (node : Node, dirty : boolean) :
void
static
继承自:UIRenderer.setEntityColorDirtyRecursively
输入参数
名称类型描述
nodeNode-
dirtyboolean-
返回值: void
public updateRenderer () :
void
继承自:_renderData
返回值: void
public unscheduleAllCallbacks () :
void
继承自:__scriptAsset
取消调度所有已调度的回调函数。
返回值: void

示例

this.unscheduleAllCallbacks(); 
public unschedule (callback_fn : any) :
void
继承自:UIRenderer.unschedule
取消调度一个自定义的回调任务。
输入参数
名称类型描述
callback_fnanyThe callback function of the task
返回值: void

示例

this.unschedule(_callback); 
public setTextureDirty () :
void
返回值: void
public setNodeDirty () :
void
继承自:onDestroy
返回值: void
public setMaterialInstance (matInst : null | Vec3 | MaterialInstance, index : number) :
void
继承自:_canRender
获取指定子模型的材质实例。
输入参数
名称类型描述
matInstnull | Vec3 | MaterialInstance-
indexnumber-
返回值: void
public setMaterial (material : null | Vec3, index : number) :
void
继承自:UIRenderer.setMaterial
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
输入参数
名称类型描述
materialnull | Vec3-
indexnumber-
返回值: void
public setEntityOpacity (opacity : number) :
void
输入参数
名称类型描述
opacitynumber-
返回值: void
public setEntityEnabled (enabled : boolean) :
void
继承自:_internalId
输入参数
名称类型描述
enabledboolean-
返回值: void
public setEntityColor (color : Buffer) :
void
继承自:_renderFlag
输入参数
名称类型描述
colorBuffer-
返回值: void
public scheduleOnce (callback : any, delay ?: number) :
void
继承自:UIRenderer.scheduleOnce
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
输入参数
名称类型描述
callbackanyThe callback function of the task
delaynumberThe delay time for the first invocation, Unit: s
返回值: void

示例

import { log } from 'cc';
this.scheduleOnce((dt) => void log(`time: ${dt}`), 2); 
public schedule (callback : any, interval ?: number, repeat ?: number, delay ?: number) :
void
继承自:UIRenderer.schedule
使用定时器系统调度一个自定义的回调任务。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
输入参数
名称类型描述
callbackanyThe callback function of the task
intervalnumberThe time interval between each invocation
repeatnumberThe repeat count of this task, the task will be invoked (repeat + 1) times, use [[23290]] to repeat a task forever
delaynumberThe delay time for the first invocation, Unit: s
返回值: void

示例

import { log } from 'cc';
this.schedule((dt) => void log(`time: ${dt}`), 1); 
public resetInEditor () :
void
继承自:UIRenderer.resetInEditor
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
返回值: void
public requestRenderData (drawInfoType ?: RenderDrawInfoType) :
name
继承自:UIRenderer.requestRenderData
请求新的渲染数据对象。
输入参数
名称类型描述
drawInfoTypeRenderDrawInfoType-
返回值: name
public postUpdateAssembler (render : IBatcher) :
void
继承自:UIRenderer.postUpdateAssembler
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。 它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。 注意:不要手动调用该函数,除非你理解整个流程。
输入参数
名称类型描述
renderIBatcher-
返回值: void
public onRestore () :
void
继承自:constructor
返回值: void
public onLostFocusInEditor () :
void
继承自:__prefab
返回值: void
public onLoad () :
void
返回值: void
public onFocusInEditor () :
void
继承自:node
返回值: void
public onEnable () :
void
返回值: void
public onDisable () :
void
返回值: void
public onDestroy () :
void
返回值: void
public markForUpdateRenderData (enable ?: boolean) :
void
输入参数
名称类型描述
enableboolean-
返回值: void
public getRenderMaterial (index : number) :
null | Vec3
继承自:UIRenderer.getRenderMaterial
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
输入参数
名称类型描述
indexnumber-
返回值: null | Vec3
public getMaterialInstance (idx : number) :
null | MaterialInstance
继承自:_postRender
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
输入参数
名称类型描述
idxnumber-
返回值: null | MaterialInstance
public getMaterial (idx : number) :
null | Vec3
继承自:UIRenderer.getMaterial
获取指定子模型的共享材质资源。
输入参数
名称类型描述
idxnumber-
返回值: null | Vec3
public getComponentsInChildren <T extends _updateTargetTexture> (classConstructor : Constructor < T >) :
T []
继承自:setSharedMaterial
递归查找自身或所有子节点中指定类型的组件。
输入参数
名称类型描述
classConstructorConstructor < T >The class of components to be retrieved
返回值: T []

示例

import { Sprite } from 'cc';
const sprites = node.getComponentsInChildren(Sprite); 
public getComponentsInChildren (className : string) :
_updateTargetTexture []
继承自:UIRenderer.getComponentsInChildren
递归查找自身或所有子节点中指定类型的组件。
输入参数
名称类型描述
classNamestringA string for the class name of the components
返回值: _updateTargetTexture []

示例

const tests = node.getComponentsInChildren("Test"); 
public getComponents <T extends _updateTargetTexture> (classConstructor : Constructor < T >) :
T []
继承自:UIRenderer.getComponents
返回节点上指定类型的所有组件。
输入参数
名称类型描述
classConstructorConstructor < T >The class of components to be retrieved
返回值: T []

示例

import { Sprite } from 'cc';
const sprites = node.getComponents(Sprite); 
public getComponents (className : string) :
_updateTargetTexture []
继承自:UIRenderer.getComponents
返回节点上指定类型的所有组件。
输入参数
名称类型描述
classNamestringA string for the class name of the components
返回值: _updateTargetTexture []

示例

const tests = node.getComponents("Test"); 
public getComponentInChildren <T extends _updateTargetTexture> (classConstructor : Constructor < T >) :
null | T
继承自:UIRenderer.getComponentInChildren
递归查找所有子节点中第一个匹配指定类型的组件。
输入参数
名称类型描述
classConstructorConstructor < T >The class of component to be retrieved
返回值: null | T

示例

import { Sprite } from 'cc';
const sprite = node.getComponentInChildren(Sprite); 
public getComponentInChildren (className : string) :
null | _updateTargetTexture
继承自:getSharedMaterial
递归查找所有子节点中第一个匹配指定类型的组件。
输入参数
名称类型描述
classNamestringA string for the class name of the component
返回值: null | _updateTargetTexture

示例

var Test = node.getComponentInChildren("Test"); 
public getComponent <T extends _updateTargetTexture> (classConstructor : Constructor < T >) :
null | T
继承自:UIRenderer.getComponent
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
输入参数
名称类型描述
classConstructorConstructor < T >The class of component to be retrieved or to be created
返回值: null | T

示例

import { Sprite } from 'cc';
// get sprite component.
var sprite = node.getComponent(Sprite); 
public getComponent (className : string) :
null | _updateTargetTexture
继承自:materials
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
输入参数
名称类型描述
classNamestringA string for the class name of the component
返回值: null | _updateTargetTexture

示例

// get custom test calss.
var test = node.getComponent("Test"); 
public fillBuffers (render : IBatcher) :
void
继承自:UIRenderer.fillBuffers
输入参数
名称类型描述
renderIBatcher-
返回值: void
public destroyRenderData () :
void
返回值: void
public destroy () :
boolean
继承自:UIRenderer.destroy
返回值: boolean
public addComponent <T extends _updateTargetTexture> (classConstructor : Constructor < T >) :
null | T
继承自:UIRenderer.addComponent
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
输入参数
名称类型描述
classConstructorConstructor < T >The class of component to be retrieved or to be created
返回值: null | T

示例

import { Sprite } from 'cc';
const sprite = node.addComponent(Sprite); 
public addComponent (className : string) :
null | _updateTargetTexture
继承自:sharedMaterial
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
输入参数
名称类型描述
classNamestringA string for the class name of the component
返回值: null | _updateTargetTexture

示例

const test = node.addComponent("Test"); 
protected __preload () :
void
返回值: void
protected _canRender () :
boolean
继承自:_srcBlendFactor
返回值: boolean
protected _clearMaterials () :
void
继承自:setEntityColor
返回值: void
protected _colorDirty () :
void
继承自:onLoad
返回值: void
protected _destroyImmediate () :
void
deprecated
继承自:Component
返回值: void
protected _destruct () :
void
deprecated
继承自:getComponents
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;
             }
         }
     } 
protected _flushAssembler () :
void
返回值: void
protected _getLocalBounds (out_rect : DynamicStates) :
void
继承自:_id
如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB), 以便编辑器的场景视图可以正确地执行点选测试。
输入参数
名称类型描述
out_rectDynamicStatesThe rect to store the result bounding rect
返回值: void
protected _getRenderScene () :
_cachedCurrentTime
deprecated
继承自:UIRenderer._getRenderScene
返回值: _cachedCurrentTime
protected _instantiate (cloned ?: _updateTargetTexture) :
undefined | _updateTargetTexture
deprecated
继承自:UIRenderer._instantiate
输入参数
名称类型描述
cloned_updateTargetTexture-
protected _nodeStateChange (transformType : fogEnd) :
void
继承自:UIRenderer._nodeStateChange
输入参数
名称类型描述
transformTypefogEnd-
返回值: void
protected _onMaterialModified (idx : number, material : null | Vec3) :
void
继承自:__preload
输入参数
名称类型描述
idxnumber-
materialnull | Vec3-
返回值: void
protected _onPreDestroy () :
void
deprecated
继承自:UIRenderer._onPreDestroy
返回值: void
protected _onRebuildPSO (index : number, material : null | Vec3) :
void
继承自:UIRenderer._onRebuildPSO
输入参数
名称类型描述
indexnumber-
materialnull | Vec3-
返回值: void
protected _postCanRender () :
void
继承自:UIRenderer._postCanRender
返回值: void
protected _postRender (render : IBatcher) :
void
继承自:UIRenderer._postRender
输入参数
名称类型描述
renderIBatcher-
返回值: void
protected _render (batcher : _uploadData) :
void
输入参数
名称类型描述
batcher_uploadData-
返回值: void
protected _updateBlendFunc () :
void
deprecated
继承自:UIRenderer._updateBlendFunc
返回值: void
protected _updateBuiltinMaterial () :
Vec3
返回值: Vec3
protected _updateColor () :
void
继承自:_color
返回值: void
protected createRenderEntity () :
RenderEntity
返回值: RenderEntity
protected lateUpdate (dt : number) :
void
继承自:UIRenderer.lateUpdate
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
输入参数
名称类型描述
dtnumberthe delta time in seconds it took to complete the last frame
返回值: void
protected start () :
void
继承自:_isOnLoadCalled
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
返回值: void
protected update (dt : number) :
void
继承自:enabled
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
输入参数
名称类型描述
dtnumberthe delta time in seconds it took to complete the last frame
返回值: void
protected updateMaterial () :
void
返回值: void
protected _deferredDestroy () :
void
static
继承自:UIRenderer._deferredDestroy
返回值: void

索引

构造函数
静态属性
属性
方法
  • on public
继承属性
  • _id protected
继承方法