laya如何给动画添加帧事件

使用 Animation 类中的 addLabel 函数,给动画的某一帧添加一个 标签label,然后监听Laya.Event.LABEL 事件即可。

在场景下添加一个做好的动画,但不要设置默认自动播放,不然动画将不监听Label事件,

然后给场景挂载如下脚本。

示例如下:

export default class AniEventScript extends Laya.Script {
    private ani:Laya.Animation;

    onAwake(): void {
        this.ani = this.owner.getChildByName("ani") as Laya.Animation;
        this.ani.addLabel("testAni", 2); // 2帧后执行某个事件
        this.ani.on(Laya.Event.LABEL, this, this.onAniEvent);
        this.ani.on(Laya.Event.COMPLETE, this, () => {
            console.log("complete");
        });

        this.ani.play(0, false);
    }

    onAniEvent(e) {
        console.log(e);
        console.log(1234);
    }
}

在代码中我给这个帧动画的第2帧添加了一个“testAni”事件,并在onAniEvent函数中执行对应行为。大家可以将事件参数e打印出来,在上面的例子中e的类型是string,这是因为我使用的是laya原生的动画,当我们使用spine动画时,参数e的类型为Laya.EventData,大家要注意。不管是哪种类型,我们都可以通过e的不同来区别不同帧要处理的事件行为。

参考:LAYA_DEMO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值