node.runAction(
sequence(
tintTo(0.05, 255, 128, 128),
delayTime(0.1),
tintTo(0.05, 255, 255, 255),
),
)
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();
怎么样?
谢谢阿 我后面自己找到方法了。 上面贴出来了