0

我正在创建这样的动作

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现在这会违反复制规则,不是吗?(复制的操作永远不会被释放,从而导致内存泄漏)

4

1 回答 1

1

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

于 2013-04-15T12:45:22.177 回答