几个CCNode的一个动作

时间:2013-04-15 02:44:48

标签: cocos2d-iphone

我正在创建这样的动作

id action = [CCRepeatForever actionWithAction:
                [CCSequence actions:
                    [CCMoveTo actionWithDuration:TIMESPEED position:POINT_TOP],
                              [CCMoveTo actionWithDuration:TIMESPEED position:POINT_START],
                              nil]];

我想在几个节点上运行

                for (Myitem* bonusitem in self.bonusitems) {
                    [bonusitem runAction:action];
                }

这次崩溃。如果我每次都使用[bonusitem runAction:[action copy]],但我认为我也有责任发布行动。但是,这样做也总是崩溃。所以我只是留下那些没有发布的东西而且它有效,但AFAIK会违反复制规则现在不会吗? (复制的操作永远不会被释放,从而导致内存泄漏)

1 个答案:

答案 0 :(得分:1)

您可以检查任何操作子类的代码。你会看到动作的副本返回为自动释放的对象。所以你可以自由使用它的副本。您不能多次使用任何操作。