哈喽各位小伙伴们大家好。
我近期对缓动的文档做了一些更新。
这次的更新主要是针对搜集到一些小伙伴的吐槽,什么静态和非静态没有说明,例子太少之类的。
于是在新版的文档里面增加了这些内容。
希望能得到各位大大的反馈, 有任何关于文档的问题都都可以吐槽哦~
让我们一起把文档做的更好!
respect!
链接如下:
哈喽各位小伙伴们大家好。
我近期对缓动的文档做了一些更新。
这次的更新主要是针对搜集到一些小伙伴的吐槽,什么静态和非静态没有说明,例子太少之类的。
于是在新版的文档里面增加了这些内容。
希望能得到各位大大的反馈, 有任何关于文档的问题都都可以吐槽哦~
让我们一起把文档做的更好!
respect!
链接如下:
你在质疑官方不如你刚毕业的娃

你这只是在第一层考虑的是怎么方便 但是人家官方在第五层考虑的是所有人的泛用性。 要是按你的改成静态方法用静态变量。多个不同的缓动之间就可能共享数据互相干扰,出的问题更麻烦。 现在就是写起来方便但是管理起来容易。每一个缓动返回的都是一个新的tween对象,可以随意改这个tween不会影响其他的tween对象
这个东西真的刚毕业的都不会这么设计,你给出的理由站不住脚,我一个资深后端,评判这个api的好与坏还是绰绰有余的,可能是前端水深吧,反正我是领略不到这种设计的妙处,但是我可以说一个坏处,下面请看:
我记得3.3的文档里关于缓动的例子还是对node来操作的呀,怎么3.4就变成node的属性了?
这是指的后续缓动的对象只能是属性了吗?如果不是的话这样写不是误导人吗? 
官方说下一个版本又改回来。。官方说的。
缓动的就是你传进去的对象的属性呀,这样写不就行了
let t: Tween = tween(this.node).to(0.3, { position: v3(100, 100, 100) });
let t1: Tween<Node> = tween(this.node).to(0.3, { scale: v3(2, 2, 2) });
let t2: Tween<Node> = tween(this.node).to(0.3, { eulerAngles: v3(0, 90, 0) });
t.sequence(t1, t2).start()
刚去3.4.1测试了下,实测是可以直接对node进行缓动的,写法参考楼上就行了
文档里对属性直接进行缓动也是可以的,可以理解为多一种使用方式,但如果可能的话文档里还是建议按原本的来,只不过可以将拓展的新写法告知用户。
这样的话是可以满足对一个对象的多个属性进行操作,多个对象的话需要自己封装了,不过这个一般来说是业务需求,引擎不做这部分内容可以理解。
我不是说传node不行,这里他要求同一个node或者是同一个node的属性,我觉得既然t1和t2都指明了node,其实
let t: Tween = tween(this.node)
t.sequence(t1, t2)是挺累赘的写法,我是这个意思,
改不改都行吧,别人的标准,照着就好了,我也是提下而已,莫怪,从api的使用上来说的话,肯定是简明点好
let t: cc.Tween = cc.tween(this.node);
t.sequence(t.to(0.3, { position: cc.v3(100, 100, 100) }), t.to(0.3, { scale: cc.v3(2, 2, 2) }), t.to(0.3, { eulerAngles: cc.v3(0, 90, 0) })).start();
这样子?
t1=tween(this.node)…
t2=tween(this.node)…
t(this.node).sequence…
很明显t1和t2是绑定this.node对象的了,t(this.node)这里还进行绑定,真的看不懂吗。。。还是我太菜了?
你不绑不就行了 我就没绑呀 绑不绑都没意义默认你操作的都是你第一个tween的节点 你队列后续就算改成另一个节点也无效
t().sequence…这样也是可以的是吧?那就好,我以为是必须传递参数的,真的有点反人类
对呀可以呀 就是怎么样都不会报错能用 做引擎肯定得多想一点,这么多人用得兼容很多情况
我没见大家这样用,没这样的说明,我也没看api文档,我从来没用过这个api
你没见过不代表没有 不过3.0得文档确实不完整,要看详细得tween使用方法还是得看2.0的文档