-1
我是Cocos2d的初學者,我想在屏幕上移動5秒鐘後立即顯示硬幣。所以這是我在我的主要的遊戲層寫在一行中添加7枚硬幣:延遲5秒後重復CCSprites
- (void)coinSidewaysRowOne {
if (coinSide1 == FALSE)
{
coinSide1 = TRUE;
NSLog(@"coinSide1 = TRUE");
int originalX = 500;
for(int i = 0; i < 8; i++)
{
CCSprite *coinHorizontal = [CCSprite spriteWithFile:@"bubble.png"];
coinHorizontal.position = ccp(originalX, 150);
originalX += 20;
[self addChild:coinHorizontal];
[coinArray addObject:coinHorizontal];
}
}
}
,然後在我的updateRunning方法我加了這一點,所以當硬幣產卵的畫面之外,他們移動到離開而消失:
for (CCSprite *coin in coinArray)
{
// apply background scroll speed
float backgroundScrollSpeedX = [[GameMechanics sharedGameMechanics] backGroundScrollSpeedX];
float xSpeed = 1.09 * backgroundScrollSpeedX;
// move the coin until it leaves the left edge of the screen
if (coin.position.x > (coin.contentSize.width * (-1)))
{
coin.position = ccp(coin.position.x - (xSpeed*delta), coin.position.y);
}
**// This is where I am trying to make the CCSprite coin reappear**
else
{
[self performSelector:@selector(showSpriteAgain:) withObject:coin afterDelay:5.0f];
}
}
然後我加入這個方法:
-(void) showSpriteAgain:(CCSprite *)coin{
CGSize screenSize = [[CCDirector sharedDirector] winSize];
coin.position = ccp(coin.position.x-screenSize.width,coin.position.y);
}
但硬幣仍然沒有在5秒鐘後再次出現。難道我做錯了什麼?謝謝。
我懷疑你的'else'部分沒有被調用..你可以把一個調試指針,或NSLog檢查.. – iphonic
我添加了一個NSLog,只要第一波硬幣消失,它被稱爲,但硬幣aren'重新出現。 –
@ShalinShah:我認爲你應該嘗試一下你自己。我知道我不應該在這裏寫這個,但我不喜歡你的方式兩次發表相同的問題。 – Renaissance