分享一段震屏代码

在论坛找了一遍,基本都是用move动作来实现的,但是参数调整不合适的话,效果看起来不好。
我从官方粒子里找到了一个震屏的动画,把参数整理出来,这样代码简单,效果有比较逼真,供大家参考。
使用方法:把这个函数放到要震动的节点脚本里,调用即可

    // 震屏效果
    // 参数:duration 震屏时间
    shakeEffect: function (duration) {
        this.node.runAction(
            cc.repeatForever(
                cc.sequence(
                    cc.moveTo(0.02, cc.p(5, 7)),
                    cc.moveTo(0.02, cc.p(-6, 7)),
                    cc.moveTo(0.02, cc.p(-13, 3)),
                    cc.moveTo(0.02, cc.p(3, -6)),
                    cc.moveTo(0.02, cc.p(-5, 5)),
                    cc.moveTo(0.02, cc.p(2, -8)),
                    cc.moveTo(0.02, cc.p(-8, -10)),
                    cc.moveTo(0.02, cc.p(3, 10)),
                    cc.moveTo(0.02, cc.p(0, 0))
                )
            )
        );

        setTimeout(() => {
            this.node.stopAllActions();
            this.node.setPosition(0,0);
        }, duration*1000);
    },
31赞

看错了,看成振动代码了

马克!!!!!!!!!!!

:joy:

make

也有用camaer 实现的

stopAllActions 之后 设置0,0位置比较好

嗯,没注意到。更新了:grin:

感谢。效果不错哦。

感谢分享:slightly_smiling:

感谢大佬代码的分享

我放到 Canvas 上 他怎么不动 放到节点上 会

Canvas 是不能移动的。。。

2赞

嗯 是的。 我刚才也想到了

为你点赞!@

点赞咯。

mark

:racehorse::racehorse::racehorse:

mark

:persevere:厉害厉害