rotate3DBy在tween执行的bug

最近要用到在2d项目中进行3d效果的旋转

在使用rotate3DTo时,发现无论把值调的多大,最终的表现效果都会把值改回0~360区间

于是就决定直接使用rotate3DBy进行旋转
然而惊奇的发现,同样得参数下,rotate3DTo可以进行旋转,而rotate3DBy却会导致节点的xyz旋转值
变为NaN,最终节点消失

查了api,rotate3DBy 与 rotate3DTo在我的写法上也没有问题


有使用过3d的大佬知道这是什么原因导致的吗:3:

这样做是不行的,你缺少点步骤,

1.打开Cocos
2.烧柱香

首先rotate3DBy不推荐使用了,如果是2.3.3以前的版本的话rotate3DBy和你想要的效果差不多,但是有挺多BUG的。2.3.3之后的版本,旋转的范围也是在-180-180之间了,rotate3DBy的结果基本就是rotate3DTo到相加后的结果保持一致的。
最好是使用tween+eulerAngles来实现,3D旋转这块参数设置也不是任意设置的,这个还是要仔细看一下的。

如果不使用rotate3DBy的话,要怎么在2D中模拟3D的效果呢(版本2.4.3)
还有确实是有BUG,我上面说3DBy不显示的问题是BUG造成的,会导致参数为NaN

经过不愿意透露姓名的dalao 的细心教导,终于排查出问题原因
在cc.tween中,会把动作进行克隆
然而在totate3DBy中,clone的参数是错误的

此处的是totate3DBy的clone代码,原本的clone参数(this._angle)并不是玩家设置的参数,this._deltaAngle才是

也因为是clone参数的错误,因此runAction是不会产生此Bug的
@jare