2014-11-06 2 views
0

Привет всем, у меня есть анимация Spritekit, которую я хочу вызвать, когда пользователь победит на уровне. Это то, что у меня естьTrigger spritekit animation

if([[other name] isEqualToString:@"win"]) 
{ 
    NSLog(@"WE HAVE WON THE LEVEL"); 

    [bomb removeFromParent]; 

    [self saveUserInfo]; 

    [[self view] performSelector:@selector(presentScene:) withObject:[LevelSelectScene scene] afterDelay:2]; 
} 

Как следует Подхожу запуск анимации сразу после бомбы удаляют из родителей?

+0

Не использовать performSelector: afterDelay: in Sprite Kit. Прочтите следующее: http://stackoverflow.com/a/23978854/201863 Затем используйте Actions, затем вы можете использовать завершение блока runAction или действие runBlock. – LearnCocos2D

+0

Извините, что я так новичок и все еще участвую в этом, как бы выглядел мой код, переключив его с тем, что вы указали в приведенном примере? – user3411711

ответ

0
- (void)gameOver 
{ 
    [self runAction:[SKAction sequence:@[[SKAction runBlock:^{ 
     [bomb removeFromParent]; 
     [self yourAnimation]; 
     [self saveUserInfo]; 
    }] ,[SKAction waitForDuration:yourDelay], [SKAction runBlock:^{ 
     GameOverScene *gameOverScene = [GameOverScene sceneWithSize:self.size]; 
     [self.view presentScene:gameOverScene transition:[SKTransition pushWithDirection:SKTransitionDirectionLeft duration:0.5]]; 
    }]]]]; 
}