贝塞尔曲线如何增加缓动


cc.tween(childNode)

        .bezierTo(time, cc.v2(x + childNode.x, childNode.y), cc.v2(x + localPos.x, localPos.y), cc.v2(localPos.x, localPos.y))

        .start();

就括号后面续着,但效果很难控制
.bezierTo(time, cc.v2(x + childNode.x, childNode.y), cc.v2(x + localPos.x, localPos.y), cc.v2(localPos.x, localPos.y), { easing: 'linear '})

没有后面的参数 { easing: 'linear '}

后面的参数就是缓动参数啊,看一下源码就知道啦

加上上面的参数报错了

你是不是加错位置了啊?代码看看?

2.4.8 是只有4上参数的,再加上,就报错了。

是的呀,所以我才来论坛问的

那就加个 //@ts-ignore
引擎代码我开2.4.6和2.4.8,bezierTo都是5个参数,刚刚实测了一下可以正常用
//@ts-ignore
cc.tween(spNode).bezierBy(3, cc.v2(0, -100), cc.v2(0, -100), cc.v2(200,200)).bezierBy(3, cc.v2(0, -100), cc.v2(0, -100), cc.v2(200,200), { easing: ‘cubicIn’}).start();

想起来了,js里写的,5个参数所以当时没有报错哈哈哈哈,但是为啥定义里不让用,实际上可以用,可能是确实很难控制动画的展示了,因为真的好丑。然后建议函数的定义不要去creator.d.ts里找,直接去引擎的resources\engine文件夹里找实现,那里很清楚能看到是5个参数的