Commit f5cc4bb1 authored by Tt's avatar Tt

1

parent 71f00d52
This diff is collapsed.
This diff is collapsed.
...@@ -591,6 +591,55 @@ let pg = { ...@@ -591,6 +591,55 @@ let pg = {
return skl; return skl;
}, },
/**
* 为DragonBones动画添加每轮动画完成后的回调事件
* @param {cc.Node|cc.Component} item - 包含DragonBones组件的节点或组件
* @returns {dragonBones.ArmatureDisplay} DragonBones骨骼组件
*/
addDBAnimationCallback(item, callback) {
if (!item || !cc.isValid(item)) return pg.logger.w("添加动画回调失败,传入了错误的item");
let node = item.node ? item.node : item;
if (!cc.isValid(node)) return pg.logger.w("节点已销毁");
let skl: dragonBones.ArmatureDisplay = node.getComponent(dragonBones.ArmatureDisplay);
if (!skl) return pg.logger.w("节点上没有DragonBones组件");
if (!callback) {
skl.removeEventListener(dragonBones.EventObject.COMPLETE);
return skl;
}
// 移除之前可能存在的监听器,避免重复添加
skl.removeEventListener(dragonBones.EventObject.COMPLETE, callback);
// 添加动画完成事件监听
skl.addEventListener(dragonBones.EventObject.COMPLETE, callback);
return skl;
},
/**
* 设置DragonBones动画的播放速度
* @param {cc.Node|cc.Component} item - 包含DragonBones组件的节点或组件
* @param {number} timeScale - 动画播放速度倍率,1为正常速度,大于1加速,小于1减速,0暂停
* @returns {dragonBones.ArmatureDisplay} DragonBones骨骼组件
*/
timeScaleDBAnimation(item, timeScale = 1) {
if (!item || !cc.isValid(item)) return pg.logger.w("设置动画速度失败,传入了错误的item");
let node = item.node ? item.node : item;
if (!cc.isValid(node)) return pg.logger.w("节点已销毁");
let skl: dragonBones.ArmatureDisplay = node.getComponent(dragonBones.ArmatureDisplay);
if (!skl) return pg.logger.w("节点上没有DragonBones组件");
// 设置动画播放速度
skl.timeScale = timeScale;
return skl;
},
/** /**
* 克隆节点 * 克隆节点
* @param {cc.Node} node - 要克隆的节点 * @param {cc.Node} node - 要克隆的节点
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment