cocos2dx 的 Repeat 函数的一种等效用法(lua 接口)

引子

在使用多个 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 循环。

参考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章