2013-08-14 2 views
1

나는 cocos2d-android로 프로젝트 작업을하고 있습니다.CCSprite가 오면 자동으로 제거됩니다. [완료]

내가 필요한 시간은 다음과 같습니다. CCSprite가 화면에 나타나고 3-4 초 동안 자동으로 제거됩니다. 이 작업을 수행하는 데 사용할 수있는 클래스는 무엇입니까?

누구든지이 일을 먼저 수행 한 경우. 나에게 길을 제안 해 줘?

답변

1

난 당신이 내가적인 Cocos2D-안드로이드 처리 적이 오브젝티브 C 원인 예를 코딩주지, 나는 그것이 매우 간단하다고 생각

CCSprite *spriteToDisplayAndRemove = [CCSprite spriteWithFile:@"filename.png"]; 
[self addChild:spriteToDisplayAndRemove];//say CCLayer adds our sprite 
CCDelayTime *delay = [CCDelayTime actionWithDuration:3]; 
CCCallBlock *block = [CCCallBlock actionWithBlock:^{ 

    [self removeChild:spriteToDisplayAndRemove]; 
}]; 
[self runAction:[CCSequence actions:delay, block, nil]]; 

편집 : 블록 이후

가적인 Cocos2D에서 사용할 수 없습니다 -android 대신 CCCallFunc을 사용할 수 있습니다. 다시 말하지만, 목표 - C 샘플 :

-(void)removeSprite 
{ 
    CCSprite *sprite = [self getChildByTag:100]; 
    [self removeChild:sprite]; 
} 
+0

CCCallBlock 라이브러리에서 사용할 수 없습니다 : 여기

CCSprite *spriteToDisplayAndRemove = [CCSprite spriteWithFile:@"filename.png"]; spriteToDisplayAndRemove.tag = 100; [self addChild:spriteToDisplayAndRemove];//say CCLayer adds our sprite CCDelayTime *delay = [CCDelayTime actionWithDuration:3]; CCCallFunc *callFunc = [CCCallFunc actionWithTarget:self selector:@selector(removeSprite)]; [self runAction:[CCSequence actions:delay, callFunc, nil]]; 

그리고 당신의 removeSprite 방법이다. CCCallBlock의 작업은 무엇입니까? –

+0

그냥 호출 할 코드 조각입니다. 이 블록 대신에 모든 메소드를 호출 할 수 있지만 블록을 사용하는 것이 더 간단합니다. CCCallFunc를 사용할 수 있습니까? –

+0

예, 이용 가능합니다 –

관련 문제