私は Cocos2d の初心者で、コイン スプライトが画面から消えたらすぐに 5 秒の遅延で表示したいと考えていました。これは、メインのゲームプレイ レイヤーで 7 コインを連続して追加するように記述したものです。
- (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 メソッドにこれを追加したので、コインが画面の外に出現すると、左に移動して消えます。
// Move coins off the screen and make them move away
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);
}
}
今、これを実行すると、コインは右から入り、左から画面の外に出ます。コインが左に移動して画面から消えたときに、5 秒の遅延があり、新しいコインが元のように右から画面に戻ってくるようにするにはどうすればよいですか。
ありがとうございました!