我正在创建一个像这样的动作
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,这违反了复制规则,不是吗?(复制的操作永远不会被释放,从而导致内存泄漏)
发布于 2013-04-15 20:45:22
您可以检查任何action子类的代码。您将看到该操作的副本作为自动释放的对象返回。所以你可以自由地使用它的副本。您不能多次使用任何操作。
https://stackoverflow.com/questions/16006919
复制相似问题