如题,Action动作系统已经被认定为过时了,但是tween事件要实现jumpTo的效果一直没有找到可替代方案
自己用两个to组合
用两个to组合不行,tween和action不一样,action可以叠加使用,但tween不行
比如你同时运行了两个tween
第一个tween是x轴的,第二个tween是y轴的,结果是y轴在动,x轴不变
那是你不会用
tween.parallel
不过话说回来,我也不太喜欢tween,感觉不如以前的action符合人类直觉
多看文档。
说那么多不如贴上代码实在
cc.tween(this.node)
.then(cc.jumpBy(0.5, -100, 50, 20, 2))
.start();
确实action用得习惯一些. 对于action不好任意扩展的问题, 可以像cocos2dx一样添加一个ActionFloat就解决大多数问题了.
这个自带的tween和外国的一个tweenMax功能差的太大的,谁能联系引擎开发组,让他们把这个tween功能弄得更强大些
才发现居然就有兼容action的函数,不过这个3.0的还有JumpBy这个函数吗,不会和runAction一起删除吧
用tween.parallel不行,这个方法早试过了,结果还是一样,不知道是不是自己的用法错误
cc.tween(this.node)
.parallel(
cc.tween(this.node).to(1,{position:cc.v3(300,0)}),
cc.tween(this.node).to(1,{position:cc.v3(0,300)})
)
.start();
你这肯定不行啊,你这指定了两个点,移动到(300,0)的同时移动到(0,300)?
要么用sequence顺序来处理,但是顺序处理的话是直上直下的不如jumpTo那么圆滑
to(1,{x:300})
to(1,{y:100})
你要分别修改x和y,你用v2就是2个轴,就混乱了
要圆滑可以添加easing,具体应用哪个easing可以自己试
我意思是路线是三角形的,不是抛物线。easing一般只是改变移动的速度吧?
你这个跟to(1,{x:300,y:100})没区别,干嘛要用parallel?这么写移动轨迹就是条直线,哪来的jumpTo的抛物线?
妈耶,非要给你写出现成的么?抛物线是什么?吧速度分解了,再想想
明白你什么意思了,妈耶,这么复杂,本来就一个jumpTo完事的,还得自己去写这些算法,我宁愿自己定几个点弄个不精确的贝塞尔了