2013-08-18 54 views
0

你好,我正在製作一個Cocos2d側卷軸。我有一個CCSprite,我使用[self addChild:sprite];方法添加。過了一段時間,我想要刪除CCSprite。我嘗試了[self removeChild:sprite cleanup:YES];方法,它給了我一個線程訪問錯誤的錯誤。這是刪除Cocos2d中的一個孩子的唯一方法嗎?有沒有一種替代方法?我是Cocos2d和Objective C的初學者,所以任何幫助都是有價值的。如何刪除cocos2d中的孩子,有更多的方法嗎?

回答

0

據我所知,removeChild:cleanup:是要走的路,如果你需要刪除任何CCNode。您是否在嘗試刪除之前檢查了sprite未發佈?

+0

所以在我的應用程序我想要角色移動到老虎,所以我有這個代碼CCMoveTo * moveToTheTiger = [CCMoveTo actionWithDuration:1.0位置:ccp(tiger.position.x + 90,tiger.position.y + 90) ]。 [character runAction:moveToTheTiger];但它使另一個字符,所以我有兩個字符在屏幕上。爲什麼發生這種情況。我首先在init方法中創建角色,然後調用另一個方法,這是我告訴角色移動的方法。 – PoKoBros

+0

不知道我是否理解這個問題。你會在屏幕上看到兩個「角色」精靈嗎?如果是這樣的話,你可能會調用類似'[add addChild:character''的東西兩次。 – ssantos

0
[sprite removeFromParentAndCleanUp:YES] 

如果你有一個訪問不良,它意味着對象是n。 在嘗試刪除它之前,檢查您的精靈是否存在。