2011-09-15 31 views
2

cocos2d我創建SPRITE但點擊菜單按鈕後,我想刪除精靈。 這是精靈代碼..如何移除cocos2d中的sprite?

// create and initialize our seeker sprite, and add it to this layer 
seeker1 = [CCSprite spriteWithFile: @"button_Red.png"]; 
seeker1.position = ccp(50, 150); 
[self addChild:seeker1]; 

而且我也創建菜單。

CCMenuItemImage * menuItem1 = [CCMenuItemImage itemFromNormalImage:@"1.gif" 
                 selectedImage: @"2.gif" 
                   target:self 
                   selector:@selector(doSomethingOne:)]; 

而這是刪除代碼,所以我在刪除中做了什麼錯誤。

- (void) doSomethingOne: (CCMenuItem *) menuItem 
{ 
NSLog(@"The first menu was called"); 
[self.children removeObject:seeker1];// removeSpriteFrames:seeker1 removeChild:seeker1 cleanup:YES]; 
} 

請給我如何刪除精靈的代碼。

回答

8

嘗試

[seeker1 removeFromParentAndCleanup:YES]; 
+0

刪除它是這工作的時間x ....求救... –

+0

@xuzhe:+1,把我的思緒拖到這裏 – rptwsthi

+0

'seeker1.opacity = 0; id a1 = [CCDelayTime actionWithDuration:5.0f]; id a2 = [CCFadeIn actionWithDuration:0.4f]; [seeker1 runAction:[CCSequence actions:a1,a2,nil]]; [self addChild:seeker1];' – xuzhe

3

而不是
[self.children removeObject:seeker1];

使用
[self removeChild:seeker1 cleanup:YES];

正如你所添加的孩子self,那麼你怎麼能由self.children

+1

如何睡覺5秒鐘然後精靈顯示... –

+0

thnx爲答案它的工作... –

+0

創建一個選擇器,並在5秒後調用,創建並添加你的精靈。 – rptwsthi