引子
在使用多個 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 循環。