
之前的推着移动已经解决了,现在要做这个下坠,我试过用action,tween,还有updata里面直接改变Y值,都有一些问题,主要是下坠的判断条件我写的是判断这个节点在二维数组中的位置,然后判断他的下方是否为空地,如果是空地就下坠,不是空地就停止,可是我在下坠的同时还要对二维数组的数据进行处理,不然会出现bug,不知道该用那种办法比较好
下坠一格还好,只要把下一格数据变成箱子,原来的一格数据变成空地就好了,但是下坠很多格,就不好处理了,而且多个箱子在一竖排的话切换数据的时机也要掌握好,不然会重叠
1、用action的话,就不要一格一格去移动了,在触发坠落的时候遍历检查最终需要达到的终点,反正你是一格一格移动的,所以定义好一个速度,做到匀速还是很简单的
2、用update的话,就不方便维护数组了,如果维护数组就要做好取整的处理,这个就看你自己的逻辑了
然后多个箱子一起下坠用update同速降低就没什么难度,如果是action的话,遍历顺序要设计好,不要上面的箱子终点计算到了下方
大佬我刚才用tween做到了,我写了两个方法,一个是初始tween,一个是中间tween,就是我把它推过来,他第一下坠落一格调用的是初始tween,然后下面还有别的空地的话,就改变他的一个movestate状态,调用中间tween,让中间tween在满足条件的情况下一直递归,效果好像还可以
不过听大佬讲貌似action是更优解,我再研究一下能不能用action做,谢谢大佬了
action和tween是等价的,本质上tween就是封装的一堆action
原来如此 