2.0.9版本新增cc.Tween的问题

2.0.9版本新增了cc.Tween, TpyeScript下如何使用呢?js下没问题,但是ts下面无法生效?

2赞

TS可以使用,但是cc.Tween文档比较粗糙,需要你阅读源码并配合浏览器调试才能完美使用这个心功能,初步体验,确实是一个很好的封装库,从此可以更放肆的写Action了

那还是直接使用js吧,文档也不完善下~~

给你一个我改过的.d文件。其实就是自己添加一下就行。
creator.d.zip (191.1 KB)

let t = cc.tween(self.node).to(1, {rotation: {value: 90, easing: sineOut}}); t.start();

2赞

感谢大神!

面对cocos creator的creator.d.ts不完善的无脑修正法, 就是有问题先加上as any解决. 例如
let t = (cc as any).tween(self.node).to(1, {rotation: {value: 90, easing:sineOut}});

也可以透过加一个.d.ts(例如CreatorExt.d.ts, 跟creator.d.ts放在同样的目录), 内容

module cc
{
    interface Tween {
       to(duration: number, props: any, opts?: { progress?: Function; easing: Function | string; }): Tween;
    }
    export function tween(target: any): Tween;
}

赞!!!
其实就是加个方法(export function tween(target: any): Tween;),修改一下接口的返回值和参数就搞定!

mark

除了要引入

export function tween(target: any): Tween;

具体缓动的选择 可以这样选择 好多 问题下面 没有写的那么详细,我经过摸索 搞定

第一个

this.node.scale = 0.5;
this.effectTween = cc.tween(this.node).to(0.3,{scaleX:1.0,scaleY:1.0},{progress:null,easing:cc.easing.backInOut}).start();

第二种

this.node.scale = 0.5;
this.effectTween = cc.tween(this.node).to(0.3,{scaleX:1.0,scaleY:1.0},{progress:null,easing:“backInOut”}).start();