2.0.9版本新增了cc.Tween, TpyeScript下如何使用呢?js下没问题,但是ts下面无法生效?
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();
感谢大神!
面对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();