2014-06-15 1 views
2

나는 Sprite Kit를 사용하여 게임을하고 있습니다. 객체가 다른 객체와 충돌 할 때 실행되는 입자 효과가 있습니다. 그러나이 입자 효과는 다른 SKScene으로 전환을 추가 할 때 사라지는 것처럼 보입니다. 이 실종의 원인은 무엇이며 어떻게이 문제를 해결할 수 있습니까?새로운 SKScene으로 전환 할 때 입자 효과가 사라집니다

편집 : 사라지면 모든 장면이 여전히 표시되어 장면이 여전히 전환 중일 때 현재 장면에 나타나지 않는다는 의미입니다. 그것은 2 초의 시간 간격을 가지고 있으므로 그것을 볼 수 없어야합니까? 중 수신에 나가는 원인이 YES로

[transition setPausesOutgoingScene:NO]; 
[transition setPausesIncomingScene:NO]; 

모두 기본 :

- (void)player:(SKSpriteNode *)player didCollideWithEnemy:(SKSpriteNode *)enemy { 
    Enemy *monster = (Enemy *)enemy; 
    if(!monster.isMoving){ 
     SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"]]; 
     emitter.position = player.position; 
     [self addChild: emitter]; 
     isAlive = FALSE; 
     NSLog(@"Hit"); 
     CrowdedData *crowdedData = [CrowdedData sharedManager]; 
     crowdedData.score = score; 
     [player removeFromParent]; 


     SKTransition *reveal = [SKTransition fadeWithDuration:2]; 
     GameOver *scene = [GameOver sceneWithSize:self.view.bounds.size]; 
     scene.scaleMode = SKSceneScaleModeAspectFill; 
     [self.view presentScene:scene transition:reveal]; 
    } 

} 
+0

입자 노드가 하나 개의 장면에 당신이 서로 장면을 대체하고 있기 때문이다. 장면 B에서 장면을 표현할 때 장면 A의 스프라이트가 남아 있지 않겠습니까? – LearnCocos2D

+0

아니, 내가 의미하는 바는 페이드 전환이 있고 현재 장면이 여전히 페이딩하고 있지만 (모든 스프라이트가 여전히 장면에 나타남) 파티클 효과를 기대하지만 표시되지 않습니다. 파티클 효과는 플레이어가 맞았을 때 바로 실행되어야하고 다른 장면으로 전환하기 전에해야합니다. – Alexyuiop

+0

전환 장면을 애니메이션으로 유지하려는 경우 skview에 해당 플래그가 있습니다 – LearnCocos2D

답변

2

SKTransition이에 관련된 두 가지 속성이 있습니다 : 여기

는 입자 효과와 장면 전환에 대한 코드입니다 장면을 일시 정지하면 이미 터가 일시 정지됩니다. 사용자의 목적에 따라 pausesOutgoingScene 속성을 NO로 설정하면이 문제를 해결할 수 있습니다. 워드 프로세서에서 더 많은 정보를 원하시면 :

https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKView/Reference/Reference.html

+0

감사합니다. 문제가 해결되었습니다. – Alexyuiop