CocosCreator项目实战(15):动画与音效


一、动画

  1. 需要新增加动画的地方有三处:1)新生成数字块时;2)数字块合并时;3)显示排行榜时。可参考cc.tween官方文档
  2. 新生成数字块时。修改game.jsaddBlock()方法
    addBlock() {
		...
        if (locations.length == 0) {
			...
        } else {
			...
            cc.tween(block)
                .to(ANIMATION_DURATION, { scale: 0.75 })
                .to(ANIMATION_DURATION, { scale: 1 }, { easing: 'backOut' })
                .start();
			...
        }
    },
  1. 数字块合并时。修改moveDirection(direction)方法
    moveDirection(direction) {
		...
        let move = (x, y, callback) => {
			...
            if (condition || this.data[x][y] == 0) {
				...
            } else if (this.data[destX][destY] == 0) {
                // Move
				...
            } else if (this.data[destX][destY] == this.data[x][y]) {
                // Merge
                cc.tween(this.blocks[destX][destY])
                    .to(ANIMATION_DURATION, { scale: 1.25 })
                    .to(ANIMATION_DURATION, { scale: 1 }, { easing: 'backOut' })
                    .start();
				...
            } else {
				...
            }
        };
		...
    },
  1. 显示排行榜时。修改showRanks()方法
    showRanks() {
        ...
        cc.tween(this.rankBox)
            .to(ANIMATION_DURATION, { scale: 1.05 })
            .to(ANIMATION_DURATION, { scale: 1 }, { easing: 'backOut' })
            .start();
    },
  1. 实际预览后,发现效果不佳会产生卡顿的感觉,修改将这三个动画封装为一个函数showAnimation(object),并修改MOVE_DURATION的值。
const MOVE_DURATION = 0.02;
	...
    showAnimation(object) {
        cc.tween(object)
            .to(0.06, { scale: 1.1 })
            .to(0.06, { scale: 1 })
            .start();
    },
  1. 在微信开发者工具中预览可得。

在这里插入图片描述


二、音效

  1. 下载点击音效,拷贝至assets\sound目录下,在restartButton下新建一个clickSound节点,添加AudioSource组件,将click.mp3拖至Clip栏。

在这里插入图片描述

  1. restartButton中将Button组件中的Click Event改为1,cc.Node选择clickSound节点,组件为cc.AudioSource,方法为play

在这里插入图片描述

  1. 其他按钮同理,但实际预览过程中,返回按钮并不能听到声音。原因是声音事件还没有触发,相关boxactive为false了,因此修改AudioSource相关代码。
  2. properties中添加clickSound,并与Canvas绑定,在按钮触发的相关方法中调用play()方法即可。
    properties: {
		...
        clickSound: cc.AudioSource,
    },
    ...
    restart() {
    	...
        this.clickSound.play();
    },


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值