就问Action里面有的tintTo动作,颜色过渡在Tween里面怎么搞?

node.runAction(

        sequence(

            tintTo(0.05, 255, 128, 128),

            delayTime(0.1),

            tintTo(0.05, 255, 255, 255),

        ),

    )


看看这个

cc.tween(this.node)
.to(0.05,{color:cc.color(0.05, 255, 128, 128)})
.delay(0.1)
.start();

这个我3.1引擎里面看到的是一帧一帧的闪过的。 不是柔和过渡。 就是一直闪的。

已经找到方法 分享出来

let _Sprite = node.getComponent(Sprite);

    let _Color = new Color(node.getComponent(Sprite)!.color);

    tween(_Color)

        .to(duration, { r: red, g: green, b: blue }, {

            onUpdate: (target: any) => {

                _Sprite!.color = target;

            }

        })

        .start();

打算搞个简化tween的插件:

declare module 'cc' {
    interface Node {
        qtPosition(to: Vec3, duration: number): Tween<Node>;
        qtPositionX(to: number, duration: number): Tween<Node>;
        qtPositionY(to: number, duration: number): Tween<Node>;
        qtPositionZ(to: number, duration: number): Tween<Node>;
        qtWorldPosition(to: Vec3, duration: number): Tween<Node>;
        qtWorldPositionX(to: number, duration: number): Tween<Node>;
        qtWorldPositionY(to: number, duration: number): Tween<Node>;
        qtWorldPositionZ(to: number, duration: number): Tween<Node>;
        qtRotation(to: Vec3, duration: number): Tween<Node>;
        qtRotationQuat(to: Quat, duration: number): Tween<Node>;
        qtScale(to: Vec3|number, duration: number): Tween<Node>;
        qtScaleX(to: number, duration: number): Tween<Node>;
        qtScaleY(to: number, duration: number): Tween<Node>;
        qtScaleZ(to: number, duration: number): Tween<Node>;
    }

    interface Sprite {
        qtColor(to: Color, duration: number): Tween<Sprite>;
        qtOpacity(to: Color, duration: number): Tween<Sprite>;
    }
}

使用时:

this.sprite.qtColor(Color.RED, 1).start();

怎么样?

谢谢阿 我后面自己找到方法了。 上面贴出来了