求助大佬~这段代码用tween怎么写???

有个2dx-lua项目用3.8.2重写了

local seq = cc.Sequence:create( cc.ScaleTo:create( 0.3 , 1 ) ,

                                    cc.DelayTime:create(0.5) ,

                                    cc.Spawn:create( cc.FadeOut:create(1) ,  cc.MoveBy:create(1 , cc.p(0,50) ) ) ,

                                    cc.CallFunc:create( function( targetNode ) targetNode:removeFromParent(true) end ) )

这段代码用tween要怎么写???
:sweat:

1赞

tween(targetNode)

        .to(0.3, { scale: 1 })

        .delay(0.5)

        .parallel(

            tween().to(1, { opacity: 0 }),

            tween().by(1, { position: cc.v3(0, 50) })

        )

        .call(() => {

            targetNode.removeFromParent(true);

        })

        .start();

应该是这样的,你自己校验一下。

		let targetNode: cc.Node;
		await new Promise<void>((resolve_f) => {
			cc.tween(targetNode)
				.to(0.3, { scale: cc.Vec3.ONE })
				.delay(0.5)
				.call(resolve_f).start();
		});
		cc.tween(targetNode.getComponent(cc.UIOpacity)).to(1, { opacity: 0 }).start();
		cc.tween(targetNode).to(1, { position: cc.v3(0, 50) }).call(() => {
			targetNode.removeFromParent()
		}).start()

看到你的,才想起我是2.x的写法 :joy:

import { Node, Tween, MoveBy, FadeOut, ScaleTo } from ‘cc’;

function createAndRunTween(targetNode: Node) {
// ScaleTo
const scaleTo = new ScaleTo(0.3, 1);
scaleTo.easing(‘sineInOut’);

// DelayTime
const delayTime = new Tween.DelayTime(0.5);

// FadeOut and MoveBy combined using Spawn
const fadeOut = new FadeOut(1);
const moveBy = new MoveBy(1, cc.v2(0, 50));
const spawn = new Tween.Spawn(fadeOut, moveBy);

// CallFunc
const callFunc = new Tween.CallFunc(() => {
    targetNode.removeFromParent();
});

// Combine all actions into a sequence
const sequence = new Tween.Sequence(scaleTo, delayTime, spawn, callFunc);

// Run the sequence on the target node
Tween.get(targetNode).do(sequence).start();

}

// 使用示例
const targetNode = new Node();
// … 设置节点属性、添加到场景等操作 …
createAndRunTween(targetNode);

我复制你的代码用ai生成的 也不知道对不对 :upside_down_face:

现在都可以面向论坛编程了,风气是越来越好了的吖。