复制一个精灵指针让他保持const?

时间:2012-02-05 14:22:45

标签: objective-c cocos2d-iphone

我有这个功能:

-(void)blink:(CCSprite *)sprite

{
    CCSprite *blinker=[sprite copy]; // i have add that to prevent sprite from change.

它得到一个精灵并在其上做动画,但是sprite一直在变化导致它的指针,所以我的函数继续得到一个不同的精灵 - 我不想要。

我试图将它复制到另一个ccsprite,但它崩溃了。 什么错了? 那是因为我发布了吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

你可以发布调用blink方法的代码吗? 也许你可以试试这个:

-(void) blink:(CCSprite*)sprite {
    [sprite retain];
    // Do some stuff with the sprite here
    [sprite release];
}

但是,应该使用线程安全参数调用函数,以便在函数执行期间不会释放它们。