类: ArmatureDisplay
extend:
UIRenderer
导入示例:
import { dragonBones } from "cc";
const { ArmatureDisplay } = dragonBones;
DragonBones 骨骼动画
Armature Display 具有对骨骼数据的引用并且存储了骨骼实例的状态,
它由当前的骨骼动作,slot 颜色,和可见的 slot attachments 组成。
多个 Armature Display 可以使用相同的骨骼数据,其中包括所有的动画,皮肤和 attachments。
索引
构造函数
-
ArmatureDisplay
public
静态属性
-
AnimationCacheMode
static
属性
-
timeScale
public
当前骨骼中所有动画的时间缩放率。
-
sockets
public
当前动画组件维护的挂点数组。要挂载自定义节点到受动画驱动的骨骼上,必须先在此注册挂点。
-
socketNodes
public
-
enableBatch
public
-
drawList
public
-
dragonAtlasAsset
public
骨骼数据所需的 Atlas Texture 数据。
-
dragonAsset
public
骨骼数据包含了骨骼信息(绑定骨骼动作,slots,渲染顺序,attachments,皮肤等等)和动画但不持有任何状态。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
-
debugBones
public
是否显示 bone 的 debug 信息。
-
armatureName
public
当前的 Armature 名称。
-
animationName
public
当前播放的动画名称。
-
premultipliedAlpha
public
是否启用贴图预乘。当图片的透明区域出现色块时需要关闭该选项,当图片的半透明区域颜色变黑时需要启用该选项。
-
playTimes
public
播放默认动画的循环次数 -1 表示使用配置文件中的默认值; 0 表示无限循环 >0 表示循环次数
-
maxVertexCount
public
-
maxIndexCount
public
-
attachUtil
public
-
_accTime
protected
-
_animationIndexValue
protected
-
_animationName
protected
-
_armature
protected
-
_armatureCache
protected
-
_armatureKey
protected
-
_armatureName
protected
-
_cacheMode
protected
-
_cacheModeEnum
protected
-
_cachedSockets
protected
-
_curFrame
protected
-
_debugBones
protected
-
_debugDraw
protected
-
_defaultArmatureIndexValue
protected
-
_defaultCacheModeValue
protected
-
_displayProxy
protected
-
_dragonAsset
protected
-
_dragonAtlasAsset
protected
-
_drawIdx
protected
-
_drawInfoList
protected
-
_drawList
protected
-
_enableBatch
protected
-
_enumAnimations
protected
-
_enumArmatures
protected
-
_eventTarget
protected
-
_factory
protected
-
_frameCache
protected
-
_inited
protected
-
_materialCache
protected
-
_playCount
protected
-
_playTimes
protected
-
_playing
protected
-
_preCacheMode
protected
-
_socketNodes
protected
-
_sockets
protected
-
_timeScale
protected
-
_animationIndex
protected
-
_defaultArmatureIndex
protected
-
_defaultCacheMode
protected
方法
-
updateAnimationCache
public
更新某个动画缓存, 预计算动画中所有帧数据,由于在单帧计算所有数据,所以较消耗性能。若想更新缓存,可使用 invalidAnimationCache 方法,具有较高性能。
-
updateAnimation
public
-
setAnimationCacheMode
public
若想切换渲染模式,最好在设置'dragonAsset'之前,先设置好渲染模式,否则有运行时开销。若在编辑中设置渲染模式,则无需担心设置次序的问题。
-
removeEventListener
public
移除 DragonBones 事件监听器。
-
querySockets
public
-
querySocketPathByName
public
查询 Socket 路径
-
playAnimation
public
播放指定的动画.animName 指定播放动画的名称。playTimes 指定播放动画的次数。-1 为使用配置文件中的次数。0 为无限循环播放。>0 为动画的重复次数。
-
once
public
添加 DragonBones 一次性事件监听器,回调会在第一时间被触发后删除自身。
-
on
public
添加 DragonBones 事件监听器,与 addEventListener 作用相同。
-
off
public
移除 DragonBones 事件监听器,与 removeEventListener 作用相同。
-
isAnimationCached
public
当前是否处于缓存模式。
-
invalidAnimationCache
public
使动画缓存失效,之后会在每帧重新计算。
-
initFactory
public
-
getMaterialForBlend
public
-
getArmatureNames
public
获取 DragonBones 数据中所有的 armature 名称
-
getArmatureKey
public
缓存龙骨数据的key值,换装的时会使用到该值,作为dragonbonesName使用
-
getAnimationNames
public
获取指定的 armature 的所有动画名称。
-
buildArmature
public
构建指定名称的 armature 对象
-
armature
public
获取 ArmatureDisplay 当前使用的 Armature 对象
-
addEventListener
public
添加 DragonBones 事件监听器。
-
_buildArmature
protected
-
_cleanMaterialCache
protected
-
_emitCacheCompleteEvent
protected
-
_indexBoneSockets
protected
-
_init
protected
-
_parseDragonAtlasAsset
protected
-
_refresh
protected
-
_requestDrawData
protected
-
_updateAnimEnum
protected
-
_updateArmatureEnum
protected
-
_updateBatch
protected
-
_updateCacheModeEnum
protected
-
_updateDebugDraw
protected
-
_updateSocketBindings
protected
-
_verifySockets
protected
-
getMaterialTemplate
public
-
requestDrawInfo
public
继承属性
-
uuid
public
组件的 uuid,用于编辑器。
-
useVertexOpacity
public
-
stencilStage
public
组件模板缓冲状态 (注意:请不要直接修改它的值)
-
sharedMaterials
public
-
sharedMaterial
public
获取默认的共享材质
-
replicated
public
-
renderEntity
public
-
renderData
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
表示该组件自身是否启用。
-
customMaterial
public
-
color
public
渲染颜色,一般情况下会和贴图颜色相乘。
-
batcher
public
-
system
static
-
PostAssembler
static
后置渲染数据组装器
-
EventHandler
static
-
BlendState
static
混合模式枚举类型
-
Assembler
static
渲染数据组装器
-
node
public
该组件被附加到的节点。组件总会附加到一个节点。
-
__editorExtras__
protected
-
__prefab
protected
-
_assembler
protected
-
_color
protected
-
_customMaterial
protected
-
_dirtyVersion
protected
-
_dstBlendFactor
protected
-
_dstBlendFactorCache
protected
-
_enabled
protected
-
_id
protected
-
_instanceMaterialType
protected
-
_internalId
protected
-
_lastParent
protected
-
_materialInstances
protected
-
_materials
protected
-
_name
protected
-
_objFlags
protected
-
_postAssembler
protected
-
_renderData
protected
-
_renderDataFlag
protected
-
_renderEntity
protected
-
_renderFlag
protected
-
_sceneGetter
protected
-
_srcBlendFactor
protected
-
_srcBlendFactorCache
protected
-
_stencilStage
protected
-
_useVertexOpacity
protected
标记组件是否逐顶点计算透明度
-
__scriptAsset
protected
-
_isOnLoadCalled
protected
返回一个值用来判断 onLoad 是否被调用过,不等于 0 时调用过,等于 0 时未调用。
继承方法
-
updateRenderer
public
-
unscheduleAllCallbacks
public
取消调度所有已调度的回调函数。
-
unschedule
public
取消调度一个自定义的回调任务。
-
setTextureDirty
public
-
setNodeDirty
public
-
setMaterialInstance
public
获取指定子模型的材质实例。
-
setMaterial
public
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
-
setEntityOpacity
public
-
setEntityEnabled
public
-
setEntityColor
public
-
scheduleOnce
public
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
-
schedule
public
使用定时器系统调度一个自定义的回调任务。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。
-
resetInEditor
public
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
-
requestRenderData
public
请求新的渲染数据对象。
-
postUpdateAssembler
public
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。注意:不要手动调用该函数,除非你理解整个流程。
-
onRestore
public
-
onLostFocusInEditor
public
-
onLoad
public
-
onFocusInEditor
public
-
onEnable
public
-
onDisable
public
-
onDestroy
public
-
markForUpdateRenderData
public
-
getRenderMaterial
public
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
-
getMaterialInstance
public
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
-
getMaterial
public
获取指定子模型的共享材质资源。
-
getComponentsInChildren
public
递归查找自身或所有子节点中指定类型的组件。
-
getComponents
public
返回节点上指定类型的所有组件。
-
getComponentInChildren
public
递归查找所有子节点中第一个匹配指定类型的组件。
-
getComponent
public
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
-
fillBuffers
public
-
destroyRenderData
public
-
destroy
public
-
addComponent
public
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
-
__preload
protected
-
_canRender
protected
-
_clearMaterials
protected
-
_colorDirty
protected
-
_destroyImmediate
protected
-
_destruct
protected
清理实例的所有引用注意:此方法不会清理实例上的 getter 与 setter 方法。
-
_flushAssembler
protected
-
_getLocalBounds
protected
如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB),以便编辑器的场景视图可以正确地执行点选测试。
-
_getRenderScene
protected
-
_instantiate
protected
-
_nodeStateChange
protected
-
_onMaterialModified
protected
-
_onPreDestroy
protected
-
_onRebuildPSO
protected
-
_postCanRender
protected
-
_postRender
protected
-
_render
protected
-
_updateBlendFunc
protected
-
_updateBuiltinMaterial
protected
-
_updateColor
protected
-
createRenderEntity
protected
-
lateUpdate
protected
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
start
protected
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
update
protected
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
-
updateMaterial
protected
-
_deferredDestroy
static
详情
构造函数
public ArmatureDisplay () : ArmatureDisplay
返回值: ArmatureDisplay
静态属性
public AnimationCacheMode : typeof AnimationCacheMode
default: AnimationCacheMode
static
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:161
属性
public sockets : DragonBoneSocket []
当前动画组件维护的挂点数组。要挂载自定义节点到受动画驱动的骨骼上,必须先在此注册挂点。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:417
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:431
public enableBatch : boolean
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:400
public drawList : RecyclePool < ArmatureDisplayDrawData >
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:437
骨骼数据所需的 Atlas Texture 数据。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:200
骨骼数据包含了骨骼信息(绑定骨骼动作,slots,渲染顺序,
attachments,皮肤等等)和动画但不持有任何状态。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
多个 ArmatureDisplay 可以共用相同的骨骼数据。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:177
public debugBones : boolean
是否显示 bone 的 debug 信息。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:388
是否启用贴图预乘。
当图片的透明区域出现色块时需要关闭该选项,当图片的半透明区域颜色变黑时需要启用该选项。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:378
播放默认动画的循环次数
-1 表示使用配置文件中的默认值;
0 表示无限循环
>0 表示循环次数
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:364
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:516
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:520
public attachUtil : AttachUtil
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:435
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:479
protected _animationIndexValue :
default: 0
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:450
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:448
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:433
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:498
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:472
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:446
protected _cacheMode : AnimationCacheMode
default: AnimationCacheMode.REALTIME
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:452
protected _cacheModeEnum : any
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1037
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:528
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:494
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:461
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:466
protected _defaultArmatureIndexValue : default
default: DefaultArmaturesEnum.default
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:440
protected _defaultCacheModeValue : AnimationCacheMode
default: AnimationCacheMode.REALTIME
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:454
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:504
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:442
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:444
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:506
protected _drawInfoList : RenderDrawInfo []
default: []
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:534
protected _drawList : RecyclePool < ArmatureDisplayDrawData >
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:507
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:464
protected _enumAnimations : any
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:525
protected _enumArmatures : any
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:524
protected _eventTarget : Empty & IEventified
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:500
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:502
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:489
protected _inited : any
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:533
protected _materialCache : { }
[ key string ]: MaterialInstance
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:522
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:484
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:458
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:496
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:451
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:527
protected _sockets : DragonBoneSocket []
default: []
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:531
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:456
protected _animationIndex :
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:286
protected _defaultArmatureIndex : default
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:255
protected _defaultCacheMode : AnimationCacheMode
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:318
方法
更新某个动画缓存, 预计算动画中所有帧数据,由于在单帧计算所有数据,所以较消耗性能。
若想更新缓存,可使用 invalidAnimationCache 方法,具有较高性能。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1176
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:793
若想切换渲染模式,最好在设置'dragonAsset'之前,先设置好渲染模式,否则有运行时开销。
若在编辑中设置渲染模式,则无需担心设置次序的问题。
输入参数
名称 | 类型 | 描述 |
---|---|---|
cacheMode | AnimationCacheMode | - |
返回值: void
示例
armatureDisplay.setAnimationCacheMode(dragonBones.ArmatureDisplay.AnimationCacheMode.SHARED_CACHE);
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:741
移除 DragonBones 事件监听器。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1301
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:993
查询 Socket 路径
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1008
播放指定的动画.
animName 指定播放动画的名称。
playTimes 指定播放动画的次数。
-1 为使用配置文件中的次数。
0 为无限循环播放。
>0 为动画的重复次数。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1138
添加 DragonBones 一次性事件监听器,回调会在第一时间被触发后删除自身。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1272
添加 DragonBones 事件监听器,与 addEventListener 作用相同。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1243
移除 DragonBones 事件监听器,与 removeEventListener 作用相同。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1257
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:759
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1188
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:558
public getMaterialForBlend (src : BlendFactor, dst : BlendFactor) : MaterialInstance
输入参数
名称 | 类型 | 描述 |
---|---|---|
src | BlendFactor | - |
dst | BlendFactor | - |
返回值: MaterialInstance
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:600
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1201
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);
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:724
获取指定的 armature 的所有动画名称。
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1215
构建指定名称的 armature 对象
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1315
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1327
添加 DragonBones 事件监听器。
输入参数
名称 | 类型 | 描述 |
---|---|---|
eventType | any | - |
listener | any | The callback that will be invoked when the event is dispatched. |
target | any | - |
返回值: void
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1287
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:918
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1376
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:783
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1081
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:682
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1018
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1024
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:579
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1050
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1066
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:913
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1039
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:894
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1347
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1364
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:593
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:535
继承属性
组件的 uuid,用于编辑器。
示例
import { log } from 'cc';
log(comp.uuid);
Defined in
cocos/core/components/component.ts:92
Defined in
cocos/2d/framework/ui-renderer.ts:212
public stencilStage : Stage
继承自:UIRenderer.stencilStage
组件模板缓冲状态 (注意:请不要直接修改它的值)
Defined in
cocos/2d/framework/ui-renderer.ts:221
: (
Defined in
cocos/2d/framework/ui-renderer.ts:143
:
获取默认的共享材质
Defined in
cocos/core/components/renderer.ts:64
Defined in
cocos/core/data/object.ts:248
public renderEntity : RenderEntity
继承自:UIRenderer.renderEntity
Defined in
cocos/2d/framework/ui-renderer.ts:269
Defined in
cocos/2d/framework/ui-renderer.ts:205
Defined in
cocos/core/components/component.ts:62
所有模型材质。
Defined in
cocos/core/components/renderer.ts:113
获取默认的材质实例,如果还没有创建,将会根据默认共享材质创建一个新的材质实例
Defined in
cocos/core/components/renderer.ts:98
表示该对象是否可用(被 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:285
在继承 CCObject 对象后,控制是否需要隐藏,锁定,序列化等功能。
Defined in
cocos/core/data/object.ts:240
表示该组件是否被启用并且所在的节点也处于激活状态。
示例
import { log } from 'cc';
log(comp.enabledInHierarchy);
Defined in
cocos/core/components/component.ts:143
表示该组件自身是否启用。
示例
import { log } from 'cc';
comp.enabled = true;
log(comp.enabled);
Defined in
cocos/core/components/component.ts:116
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:636
渲染颜色,一般情况下会和贴图颜色相乘。
Defined in
cocos/2d/framework/ui-renderer.ts:186
Defined in
cocos/2d/framework/ui-renderer.ts:265
Defined in
cocos/core/components/component.ts:163
后置渲染数据组装器
Defined in
cocos/2d/framework/ui-renderer.ts:134
public EventHandler : typeof screenPointToRay
default: EventHandler
static
继承自:UIRenderer.EventHandler
Defined in
cocos/core/components/component.ts:60
混合模式枚举类型
Defined in
cocos/2d/framework/ui-renderer.ts:124
public Assembler : IAssemblerManager
static
继承自:UIRenderer.Assembler
渲染数据组装器
Defined in
cocos/2d/framework/ui-renderer.ts:129
public node : Node
default: NullNode
继承自:UIRenderer.node
该组件被附加到的节点。组件总会附加到一个节点。
示例
import { log } from 'cc';
log(comp.node);
Defined in
cocos/core/components/component.ts:175
protected __editorExtras__ : unknown
继承自:UIRenderer.__editorExtras__
Defined in
cocos/core/data/object.ts:196
Defined in
cocos/core/components/component.ts:187
Defined in
cocos/2d/framework/ui-renderer.ts:243
Defined in
cocos/2d/framework/ui-renderer.ts:239
Defined in
cocos/2d/framework/ui-renderer.ts:232
Defined in
cocos/2d/framework/ui-renderer.ts:259
protected _dstBlendFactor : BlendFactor
default: BlendFactor.ONE_MINUS_SRC_ALPHA
继承自:UIRenderer._dstBlendFactor
Defined in
cocos/2d/framework/ui-renderer.ts:237
protected _dstBlendFactorCache : BlendFactor
default: BlendFactor.ONE_MINUS_SRC_ALPHA
Defined in
cocos/2d/framework/ui-renderer.ts:255
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.
Defined in
cocos/core/components/component.ts:181
protected _id : string
deprecated
继承自:UIRenderer._id
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/core/components/component.ts:198
Defined in
cocos/2d/framework/ui-renderer.ts:253
Defined in
cocos/2d/framework/ui-renderer.ts:263
Defined in
cocos/2d/framework/ui-renderer.ts:282
Defined in
cocos/core/components/renderer.ts:141
Defined in
cocos/2d/framework/ui-renderer.ts:230
Defined in
cocos/core/data/object.ts:202
Defined in
cocos/core/data/object.ts:201
Defined in
cocos/2d/framework/ui-renderer.ts:244
Defined in
cocos/2d/framework/ui-renderer.ts:201
Defined in
cocos/2d/framework/ui-renderer.ts:248
Defined in
cocos/2d/framework/ui-renderer.ts:251
Defined in
cocos/2d/framework/ui-renderer.ts:249
Defined in
cocos/core/components/component.ts:192
Defined in
cocos/2d/framework/ui-renderer.ts:235
Defined in
cocos/2d/framework/ui-renderer.ts:254
protected _stencilStage : Stage
default: Stage.DISABLED
继承自:UIRenderer._stencilStage
Defined in
cocos/2d/framework/ui-renderer.ts:241
标记组件是否逐顶点计算透明度
Defined in
cocos/2d/framework/ui-renderer.ts:280
protected __scriptAsset : null
deprecated
继承自:UIRenderer.__scriptAsset
Deprecated: since v3.5.0, this is an engine private interface that will be removed in the future.
Defined in
cocos/core/components/component.ts:103
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);
Defined in
cocos/core/components/component.ts:159
继承方法
static
继承自:UIRenderer.setEntityColorDirtyRecursively
Defined in
cocos/2d/framework/ui-renderer.ts:448
Defined in
cocos/2d/framework/ui-renderer.ts:376
public unscheduleAllCallbacks () : void
继承自:__scriptAsset
取消调度所有已调度的回调函数。
返回值: void
示例
this.unscheduleAllCallbacks();
Defined in
cocos/core/components/component.ts:490
继承自:UIRenderer.unschedule
取消调度一个自定义的回调任务。
Defined in
cocos/core/components/component.ts:474
Defined in
cocos/2d/framework/ui-renderer.ts:563
Defined in
cocos/2d/framework/ui-renderer.ts:557
继承自:_canRender
获取指定子模型的材质实例。
Defined in
cocos/core/components/renderer.ts:199
继承自:UIRenderer.setMaterial
设置指定子模型的 sharedMaterial,如果对应位置有材质实例则会创建一个对应的材质实例。
Defined in
cocos/core/components/renderer.ts:159
Defined in
cocos/2d/framework/ui-renderer.ts:470
继承自:_internalId
Defined in
cocos/2d/framework/ui-renderer.ts:476
Defined in
cocos/2d/framework/ui-renderer.ts:464
继承自:UIRenderer.scheduleOnce
使用定时器系统调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。
Defined in
cocos/core/components/component.ts:461
继承自:UIRenderer.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 [[23290]] 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/core/components/component.ts:428
public resetInEditor () : void
继承自:UIRenderer.resetInEditor
用来初始化组件或节点的一些属性,当该组件被第一次添加到节点上或用户点击了它的 Reset 菜单时调用。这个回调只会在编辑器下调用。
返回值: void
Defined in
cocos/core/components/component.ts:592
继承自:UIRenderer.requestRenderData
请求新的渲染数据对象。
Defined in
cocos/2d/framework/ui-renderer.ts:355
继承自:UIRenderer.postUpdateAssembler
后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。
它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。
注意:不要手动调用该函数,除非你理解整个流程。
Defined in
cocos/2d/framework/ui-renderer.ts:399
Defined in
cocos/2d/framework/ui-renderer.ts:306
Defined in
cocos/core/components/component.ts:585
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:562
Defined in
cocos/core/components/component.ts:583
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:764
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:774
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:870
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1389
继承自:UIRenderer.getRenderMaterial
获取指定位置可供渲染的材质,如果有材质实例则使用材质实例,如果没有则使用材质资源
Defined in
cocos/core/components/renderer.ts:230
继承自:_postRender
获取指定子模型的材质实例。如果还没有创建,将会根据对应的共享材质创建一个新的材质实例
Defined in
cocos/core/components/renderer.ts:177
继承自:UIRenderer.getMaterial
获取指定子模型的共享材质资源。
Defined in
cocos/core/components/renderer.ts:147
public getComponentsInChildren <T extends _updateTargetTexture> (classConstructor : Constructor < T >) : T []
递归查找自身或所有子节点中指定类型的组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
classConstructor | Constructor < T > | The class of components to be retrieved |
返回值: T []
示例
import { Sprite } from 'cc';
const sprites = node.getComponentsInChildren(Sprite);
继承自:UIRenderer.getComponentsInChildren
递归查找自身或所有子节点中指定类型的组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
className | string | A string for the class name of the components |
返回值: _updateTargetTexture []
示例
const tests = node.getComponentsInChildren("Test");
Defined in
cocos/core/components/component.ts:342
继承自:UIRenderer.getComponents
返回节点上指定类型的所有组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
classConstructor | Constructor < T > | The class of components to be retrieved |
返回值: T []
示例
import { Sprite } from 'cc';
const sprites = node.getComponents(Sprite);
继承自:UIRenderer.getComponents
返回节点上指定类型的所有组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
className | string | A string for the class name of the components |
返回值: _updateTargetTexture []
示例
const tests = node.getComponents("Test");
Defined in
cocos/core/components/component.ts:288
public getComponentInChildren <T extends _updateTargetTexture> (classConstructor : Constructor < T >) : null | T
继承自:UIRenderer.getComponentInChildren
递归查找所有子节点中第一个匹配指定类型的组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
classConstructor | Constructor < T > | The class of component to be retrieved |
返回值: null | T
示例
import { Sprite } from 'cc';
const sprite = node.getComponentInChildren(Sprite);
递归查找所有子节点中第一个匹配指定类型的组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
className | string | A string for the class name of the component |
返回值: null | _updateTargetTexture
示例
var Test = node.getComponentInChildren("Test");
Defined in
cocos/core/components/component.ts:315
public getComponent <T extends _updateTargetTexture> (classConstructor : Constructor < T >) : null | T
继承自:UIRenderer.getComponent
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
输入参数
名称 | 类型 | 描述 |
---|---|---|
classConstructor | Constructor < 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);
继承自:materials
获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
传入参数也可以是脚本的名称。
传入参数也可以是脚本的名称。
输入参数
名称 | 类型 | 描述 |
---|---|---|
className | string | A string for the class name of the component |
返回值: null | _updateTargetTexture
示例
// get custom test calss.
var test = node.getComponent("Test");
Defined in
cocos/core/components/component.ts:256
继承自:UIRenderer.fillBuffers
Defined in
cocos/2d/framework/ui-renderer.ts:385
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:588
Defined in
cocos/core/components/component.ts:361
public addComponent <T extends _updateTargetTexture> (classConstructor : Constructor < T >) : null | T
继承自:UIRenderer.addComponent
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
classConstructor | Constructor < T > | The class of component to be retrieved or to be created |
返回值: null | T
示例
import { Sprite } from 'cc';
const sprite = node.addComponent(Sprite);
继承自:sharedMaterial
向节点添加一个指定类型的组件类,你还可以通过传入脚本的名称来添加组件。
输入参数
名称 | 类型 | 描述 |
---|---|---|
className | string | A string for the class name of the component |
返回值: null | _updateTargetTexture
示例
const test = node.addComponent("Test");
Defined in
cocos/core/components/component.ts:224
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:677
Defined in
cocos/2d/framework/ui-renderer.ts:409
Defined in
cocos/core/components/renderer.ts:240
Defined in
cocos/2d/framework/ui-renderer.ts:520
Defined in
cocos/core/data/object.ts:372
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;
}
}
}
Defined in
cocos/core/data/object.ts:359
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1331
Defined in
cocos/core/components/component.ts:606
protected _getRenderScene () : _cachedCurrentTime
deprecated
继承自:UIRenderer._getRenderScene
返回值: _cachedCurrentTime
Defined in
cocos/core/components/component.ts:205
deprecated
继承自:UIRenderer._instantiate
Defined in
cocos/core/components/component.ts:397
继承自:UIRenderer._nodeStateChange
Defined in
cocos/2d/framework/ui-renderer.ts:506
继承自:__preload
Defined in
cocos/2d/framework/ui-renderer.ts:525
Defined in
cocos/core/components/component.ts:383
继承自:UIRenderer._onRebuildPSO
Defined in
cocos/core/components/renderer.ts:237
Defined in
cocos/2d/framework/ui-renderer.ts:418
继承自:UIRenderer._postRender
Defined in
cocos/2d/framework/ui-renderer.ts:407
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:654
Defined in
cocos/2d/framework/ui-renderer.ts:485
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:627
Defined in
cocos/2d/framework/ui-renderer.ts:433
protected createRenderEntity () : RenderEntity
返回值: RenderEntity
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:1383
继承自:UIRenderer.lateUpdate
如果该组件启用,则每帧调用 LateUpdate。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
Defined in
cocos/core/components/component.ts:517
protected start () : void
继承自:_isOnLoadCalled
如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
返回值: void
Defined in
cocos/core/components/component.ts:554
继承自:enabled
如果该组件启用,则每帧调用 update。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。
Defined in
cocos/core/components/component.ts:507
Defined in
cocos/dragon-bones/ArmatureDisplay.ts:646
Defined in
cocos/core/data/object.ts:172