怎么让多个node执行 tween动作

let t1 = tween(left_node).to(1, { position: new Vec3(-375, 0, 0) })
let t2 = tween(right_node).to(1, { position: new Vec3(375, 0, 0) })

怎么让这2个不同Node的tween按顺序执行?
我试了 t1.then(t2).start()不行, sequence parallel也不行,该怎么弄?求解答

如果还有let t3= tween(top_node).to(1, { position: new Vec3(0, 100, 0) })

如果t1,t2同时执行,执行完成后,再执行t3,有没有更优雅的方法?

好像是不行的,之前有搜索过,文章表示只能针对单个节点做一些列的操作
然后好像很早前也有提过会改进,但我用的版本3.8.2 还是不能同时对多个物体进行动画

看看3.8.5测试贴,里面tween有大改进

[教程]TweenMax如何在Cocos Creator 3.0使用

要不要考虑一下第三方库?TweenMax

在call里写第二个调用咯

public startTweenAsync(tween: Tween<any>): Promise<void> {
    return new Promise<void>((resolve, reject) => {
        tween.call(resolve).start();
    });
}
await this.startTweenAsync(t1);
await this.startTweenAsync(t2);
////////////////////////////
await Promise.all([
    this.startTweenAsync(t1),
    this.startTweenAsync(t2)
]);
await this.startTweenAsync(t3);
1赞

call?

t1.call(() => t2.start()).start()

https://github.com/cocos/cocos-engine/issues/16978

应该是这个吧

如果还有let t3= tween(top_node).to(1, { position: new Vec3(0, 100, 0) })

如果t1,t2同时执行,执行完成后,再执行t3,有没有更优雅的方法?

肯定是要套娃的,在call里面发事件了 :rofl: