我有一个这样的动作序列:
cc.Sequence:create(move_ease_in, cc.CallFunc:create(calls1), move_ease_in_back, cc.CallFunc:create(calls2))
我想将操作复制到另一个sprite,但删除所有CallFunc操作。因此,我需要解析操作并访问操作树中的每个节点以删除特定操作。
我知道我可以这样做:
anotherSprite:runAction(cc.Sequence:create(move_ease_in, move_ease_in_back))
但是我的程序中的实际操作要复杂得多,并且操作太多,所以我必须在不再对整个操作进行硬编码的情况下执行此操作。
换句话说,有没有办法访问某个动作的所有子动作并获取lua中每个动作的类型?
我使用的是cocos 2d 3.0 + lua 5.1
答案 0 :(得分:0)
您无法访问cc.Sequence
的子操作。在其C ++实现中,Sequence
仅包含2个子操作。如果您创建一个包含3个子操作的Sequence
,则序列将如下所示:Sequence(action1, Sequence(action2, action3))
因此,如果您确实需要访问子操作,则可以扩展cc.Sequence
,并将子操作保存在扩展类中,以便您可以访问它们。