【问题标题】:visit child actions of an action sequence in cocos 2d with lua使用 lua 在 cocos 2d 中访问动作序列的子动作
【发布时间】:2014-08-29 09:22:56
【问题描述】:

我有一个这样的动作序列:

cc.Sequence:create(move_ease_in, cc.CallFunc:create(calls1), move_ease_in_back, cc.CallFunc:create(calls2))

我想将动作复制到另一个精灵,但删除所有 CallFunc 动作。所以我需要解析动作并访问动作树中的每个节点来移除具体的动作。

我知道我可以这样做:

anotherSprite:runAction(cc.Sequence:create(move_ease_in, move_ease_in_back))

但我的程序中的实际动作要复杂得多,动作太多,所以我必须这样做,而不是再次对整个动作进行硬编码。

也就是说,有没有什么办法可以访问一个action的所有子action,并获取lua中每个action的类型?

我正在使用 cocos 2d 3.0 + lua 5.1

【问题讨论】:

    标签: lua cocos2d-x


    【解决方案1】:

    您无法访问cc.Sequence 的子操作。在其 C++ 实现中,Sequence 仅包含 2 个子操作。如果您创建一个包含 3 个子操作的 Sequence,则序列将如下所示:Sequence(action1, Sequence(action2, action3))

    所以,如果你真的需要访问子action,你可以扩展cc.Sequence,并将子action保存在扩展类中,这样你就可以访问了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 2023-03-29
      • 1970-01-01
      相关资源
      最近更新 更多