Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用lua访问cocos 2d中动作序列的子动作_Lua_Cocos2d X - Fatal编程技术网

使用lua访问cocos 2d中动作序列的子动作

使用lua访问cocos 2d中动作序列的子动作,lua,cocos2d-x,Lua,Cocos2d X,我有这样一个动作序列: 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, m

我有这样一个动作序列:

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))
但是我的程序中的实际操作要复杂得多,而且有太多的操作,所以我必须在不再次硬编码整个操作的情况下完成

换句话说,有没有办法访问一个动作的所有子动作,并在lua中获取每个动作的类型


我使用的是Cocos2D 3.0+Lua5.1

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

因此,如果确实需要访问子操作,可以扩展
cc.Sequence
,并将子操作保存在扩展类中,以便访问它们