cocoscreator3.8.0贝塞尔曲线加旋转效果

    /**

     * 贝塞尔曲线加旋转角度

     * playTime 时间

     * startPos 开始点

     * midPos 中间点

     * endPos 结束点

     * easing 缓动行数

     * */

    playfruitsTween(playTime,startPos,midPos,endPos,easing) {

        var fruit = this.node;

        var fruitTween = tween(startPos);

        const mixY = midPos.y;

        const maxY = endPos.y;

        const mixX = midPos.x;

        const maxX = endPos.x;

        var progressX = function (start, end, current, t) {

            current = bezier(start, mixX, maxX, end, t);

            return current;

        };

        var progressY = function (start, end, current, t) {

            current = bezier(start, mixY, maxY, end, t);

            return current;

        };

        const tempVec3 = v3();

        fruitTween.parallel(

            tween().to( playTime, {x: endPos.x}, {progress: progressX, easing: easing, onUpdate: (target, ratio)=>{

                fruit.setPosition(startPos);

                //计算出朝向

                let angle = Vec3Util.getAngle(tempVec3,startPos);

                tempVec3.x = startPos.x;

                tempVec3.y = startPos.y;

                tempVec3.z = startPos.z;

                var degree = angle / Math.PI * 180;

                this.node.angle = degree;

            }}),

            tween().to( playTime, {y: endPos.y}, { progress: progressY, easing: easing, onUpdate: (target, ratio)=>{

                fruit.setPosition(startPos);

            }}),

        )

        .start();

    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值