让蔡徐坤来教你实现游戏中的帧动画(下)


拖了将近一个月,终于把帧动画这部分写完了,新关注的或者已经忘记的小伙伴可以看一下之前写的部分:

今天这个还是在上一篇的基础上进行修改的,主要讲解的如何在帧动画中添加事件,Cocos Creator 提供了两种添加事件的方式:可视化编辑帧事件和动态注册帧事件,下面将对这两种方式分别介绍。

 

没看过官方文档的小伙伴建议先熟悉一下官方文档哦!

https://docs.cocos.com/creator/manual/zh/animation/scripting-animation.html

 

一、可视化编辑帧事件

1.由于是在上篇文章的基础上进行修改,所以不再对工程目录进行介绍,先导入这次要用到的音乐资源 jinitaimei.mp3,然后创建一个文字说明和两个按钮:

让蔡徐坤来教你实现游戏中的帧动画(下)

 

2.然后再编辑一个 jump 的帧动画,我是只修改了 position 和 scale 属性,这个随意,自己发挥就好,并将动画拖到 player 节点上(本来是想把跳舞的也做出来的,但想到学会技术才是重点,于是只是简单的修改了 position 和 scale 属性,我不会告诉你们我是太懒的~):

让蔡徐坤来教你实现游戏中的帧动画(下)

 

3.绑定动画后,编写脚本如下,并将改脚本挂在到 player 节点上(注,如果挂在到非挂载对应动画节点上将不能获取到回调函数):

1 // animationEvent.js 2 3 cc.Class({ 4 extends: cc.Component, 5 6 properties: { 7 player: cc.Node, 8 playBt: cc.Node, 9 stopBt: cc.Node, 10 music: { 11 default: null, 12 type: cc.AudioClip 13 } 14 }, 15 16 onLoad() { 17 this.playBt.on('touchstart', this.cbPlay, this); 18 this.stopBt.on('touchstart', this.cbStop, this); 19 20 this.anim = this.player.getComponent(cc.Animation); 21 }, 22 23 // playBt 回调函数 24 cbPlay(event) { 25 this.anim.play('jump'); 26 this.node.parent.getChildByName('label_01').active = false; 27 }, 28 29 // stopBt 回调函数 30 cbStop(event) { 31 this.anim.stop(); 32 this.player.position = cc.v2(0, 0); 33 this.player.setScale(1); 34 cc.audioEngine.stopMusic(); 35 this.node.parent.getChildByName('label_01').active = true; 36 }, 37 38 // jump 动画 play 回调函数 39 onJumpPlay(type, state) { 40 cc.audioEngine.playMusic(this.music, false); 41 }, 42 43 // jump 动画 finished 回调函数 44 onJumpFinished(type, state) { 45 cc.audioEngine.stopMusic(); 46 this.anim.play('play'); 47 }, 48 49 // play 动画 finished 回调函数 50 onPlayFinished(event) { 51 this.node.parent.getChildByName('label_01').active = true; 52 } 53 });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfgpd.html