为动画创建另一个图层类

时间:2013-10-26 15:55:54

标签: objective-c cocos2d-iphone

有一个主类,我想添加一些其他图层,当该图层做一些动画时,问题会在我同时需要该图层的几个副本时启动。 例如,我有一个在主当前图层之上进行爆炸动画的图层。 如果每次我使用它,我会复制它(实例分配),我将不得不在某个时候发布该副本,但我不能这样做:

explotionLayer *instance=[[explotion alloc]init];
[instance someFunction ];
[instance release];

因为someFunction需要时间,当它结束时,正在执行instance的其他一些函数 - 因此该实例之前无法释放。

如何在游戏过程中同时创建多个实例,并以某种方式管理如何在正确的时间释放它们 - 仅限于完成动画和其他任务时。

我知道我可以从该实例回调到主层中的一个函数来释放它 - 但这不是一个很好的强大方法。

2 个答案:

答案 0 :(得分:0)

使用

[instance autorelease];

不,搞砸了。你应该真的是using ARC。您甚至不必再考虑这样的问题,而且泄漏的次数也会减少。

此外,如果将实例添加到节点层次结构中,cocos2d仍会保留它。

答案 1 :(得分:0)

请使用自动参考计数(ARC)。您需要做的就是在实例变量上定义正确的属性并迁移到ARC。 Framework将为您处理内存处理。