CocosCreator开发笔记(18)-如何处理Animation动画的结束回调

🔍 VisionCore Pro | 多模态智能语义分析平台

🔍 VisionCore Pro | 多模态智能语义分析平台

AI应用
PyTorch
CLIP

VisionCore Pro 是一款基于 OpenAI CLIP (Contrastive Language-Image Pre-training) 架构的企业级多模态视觉分析工具。通过先进的深度学习技术,该平台实现了图像与文本之间的深度语义对齐,支持零样本(Zero-shot)图像识别与分类,为企业视觉资产数字化、智能监控及内容审核提供高效的技术支撑。

CocosCreator目前支持的Animation回调事件有:

  • play : 开始播放时
  • stop : 停止播放时
  • pause : 暂停播放时
  • resume : 恢复播放时
  • lastframe : 假如动画循环次数大于 1,当动画播放到最后一帧时
  • finished : 动画播放完成时

首先确保节点已经添加了cc.Animation组件,并且至少添加了一个Animation Clip,假设该clip名称为’run’。

在 onStart 获取Animation对象并保存起来

onStart() {
    this.animCtrl = this.node.getComponent(cc.Animation);
}

在需要处播放动画

this.animCtrl.play('run');

注册回调有2种方法,一种是对 cc.AnimationState 注册回调,如下:

// 对单个 cc.AnimationState 注册回调
var animState = this.animCtrl.getAnimationState('run');
if (animState) {
    animState.on('stop', (event) => {
        // 处理停止播放时的逻辑
        let clip = event.detail;
        ...
    }, this);
}

另外一种是对 cc.Animation 注册回调,如下:

// 注册播放动画结束的回调
this.animCtrl.on('stop', this.onAnimStop, this);

onAnimStop回调函数的实现,用来动画停止播放时的处理

onAnimStop: function(event) {
    let animState = event.detail;
    if (animState.name === 'run' && event.type === 'stop') {
        // 注销回调函数
        this.animCtrl.off('stop', this.onAnimStop, this);
        ...
    }
}

这2种注册回调方法的区别是,对 cc.AnimationState 注册回调,它仅会在该 clip 发生相应事件时进入回调,方便对不同 clip 做不同处理。而对 cc.Animation 注册回调,则会在每个 clip 发生相应事件时都会进入回调,方便做全局处理。一般情况下,我们使用第一种,对 cc.AnimationState 注册回调就可以了。

您可能感兴趣的与本文相关的镜像

🔍 VisionCore Pro | 多模态智能语义分析平台

🔍 VisionCore Pro | 多模态智能语义分析平台

AI应用
PyTorch
CLIP

VisionCore Pro 是一款基于 OpenAI CLIP (Contrastive Language-Image Pre-training) 架构的企业级多模态视觉分析工具。通过先进的深度学习技术,该平台实现了图像与文本之间的深度语义对齐,支持零样本(Zero-shot)图像识别与分类,为企业视觉资产数字化、智能监控及内容审核提供高效的技术支撑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值