引子
在使用多个 cc.RotateBy 来创建连续的旋转动画时,发现 Repeat 函数调用后,传入的参数是 3,却跑了 4 次。传 6 跑 7。传 9 跑 9。函数表现得比较奇怪,一时源码中又看不出 bug 所在。于是想到了利用 Sequence 做一个等效实现。
实现办法
local r = cc.RotateBy:create(0.1, 60)
local xs = {
r:clone(),
r:clone(),
r:clone(),
r:clone(),
r:clone(),
r:clone(),
}
local s = cc.Sequence:create(table.unpack(xs))
self.cursor:runAction(s)
主要利用 unpack 来传参了。另外,数组生成的地方可考虑用 for 循环。