我想在遊戲中擊敗關卡時進行3秒倒計時顯示。所以這是我做過什麼:cocos2d中的三秒倒計時
-(void) gameSegmentBeat {
[self pauseSchedulerAndActions];
// Overlay the game with an opaque background
CCSprite *opaqueBG = [CCSprite spriteWithFile:@"background1.png"];
opaqueBG.position = screenCenter;
[self addChild:opaqueBG z:10000];
// These are the 3 labels for the 3 seconds
CCLabelTTF *three = [CCLabelTTF labelWithString:@"3" fontName:@"Helvetica" fontSize:100];
three.position = ccp(screenCenter.x, screenCenter.y);
CCLabelTTF *two = [CCLabelTTF labelWithString:@"2" fontName:@"Helvetica" fontSize:100];
two.position = ccp(screenCenter.x, screenCenter.y);
CCLabelTTF *one = [CCLabelTTF labelWithString:@"1" fontName:@"Helvetica" fontSize:100];
one.position = ccp(screenCenter.x, screenCenter.y);
// Secondspast is specified in the update method
secondspast = 0;
if (secondspast == 1) {
[self addChild:three z:10001];
} else if (secondspast == 2) {
[self removeChild:three];
[self addChild:two z:10001];
} else if (secondspast == 3) {
[self removeChild:two];
[self addChild:one z:10001];
}
}
而且更新:
framespast = 0;
-(void)update:(ccTime)delta {
framespast++;
secondspast = framespast/60;
}
我在我還沒有上圖所示的方法之一叫做gameSegmentBeat
...我知道它被調用,因爲: 1. pauseSchedulerAndActions
正在工作,2.正在顯示CCSprite *opaqueBG
。
此外,這是我應該補充的是,如果我搬到外面[self addChild:three z:10001];
if語句的,這是目前在,則標籤顯示了,但只要我搬回到if語句,它不工作...
我不知道爲什麼,但標籤不會每秒切換,所以沒有倒計時。
提前致謝!
這裏被稱爲gameSegmentBeat?我猜它被召了一次。 –
我更新了問題。 –