关于3.3.2缓动 tween的一个bug

1、缓动如下可以正常执行
tween(this.node)
.by(1, {position:new Vec3(0, -0.5, 0)}, {easing:‘backIn’})
.to(1, {position:new Vec3(1,1,1)}, {easing:‘expoOut’}).call(()=>{
console.log(self === ${self.node.position})
}).start();

但是换成下面写法缓动就不会执行了
tween(this.node)
.by(1, {position:new Vec3(0, -0.5, 0)}, {easing:‘backIn’})
.call(()=>{
this.twRecover();
}).start();
twRecover() {
tween(this.node).to(1, {position:new Vec3(1,1,1)}, {easing:‘expoOut’}).start();
}

是只不执行第二部分还是两个都不执行

是第二部分不执行。

const that = this;
this.twRecover(); -> that.twRecover(); 改下试试

1赞


image

twRecover()里面的缓动还是没有执行,但是把to换成by却是可以的。

看一下这个demo是否运行正常
testA.zip (1.2 MB)

忘记一点了,这个是对3D的物体进行移动。
辛苦看下这个demo里的三种情况。
testA.zip (1.2 MB)