Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 复制一个精灵指针让他保持恒定?_Objective C_Cocos2d Iphone - Fatal编程技术网

Objective c 复制一个精灵指针让他保持恒定?

Objective c 复制一个精灵指针让他保持恒定?,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,我有这个功能: -(void)blink:(CCSprite *)sprite { CCSprite *blinker=[sprite copy]; // i have add that to prevent sprite from change. 它得到一个精灵并在上面做动画,但是sprite一直在变化,因为它是一个指针,所以我的函数一直得到一个不同的精灵-这是我不想要的 我试图将它复制到另一个ccsprite,但它崩溃了。 这里怎么了? 是因为我还没有发布吗 非常感谢你能把代码贴

我有这个功能:

-(void)blink:(CCSprite *)sprite

{
    CCSprite *blinker=[sprite copy]; // i have add that to prevent sprite from change.
它得到一个精灵并在上面做动画,但是
sprite
一直在变化,因为它是一个指针,所以我的函数一直得到一个不同的精灵-这是我不想要的

我试图将它复制到另一个ccsprite,但它崩溃了。 这里怎么了? 是因为我还没有发布吗


非常感谢

你能把代码贴在调用闪烁方法的地方吗? 也许你可以试试这个:

-(void) blink:(CCSprite*)sprite {
    [sprite retain];
    // Do some stuff with the sprite here
    [sprite release];
}
但是,应该使用线程安全的参数调用函数,以便在函数执行期间不会释放它们