-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);
}
을하지만 동전은 여전히 오초 후에 다시 나타나지 않습니다. 내가 뭔가 잘못하고 있는거야? 감사. showSpriteAgain 기능에
나는 생각한다, 그래서 우리가 바로 우리가 screennSize.width을 추가 할 필요가에 배치 할 필요가 오른쪽 또는 왼쪽으로 이동했다 무슨 짓을하여 'else '부분이 호출되지 않습니다 .. 디버그 포인터 또는 NSLog를 넣어서 확인할 수 있습니까? – iphonic
NSLog를 추가하고 동전의 첫 번째 물결이 사라지 자마자 호출되고 있지만 동전은' 다시 나타나지 않는다. –
@ShalinShah : 나는 너 자신을 시험해 봐야한다고 생각한다. 나는 이것을 여기에 써서는 안되지만 같은 질문을 두 번 올리는 길은 싫어. – Renaissance