我正在使用 Sprite Kit 开发游戏。我有一个粒子效果,当一个对象与另一个对象碰撞时运行;但是,当我向另一个 SKScene 添加过渡时,这种粒子效果似乎消失了。是什么导致了这种消失,我该如何解决这个问题?
编辑:消失是指当场景仍在过渡且所有精灵仍在显示时,它不会出现在当前场景中。它有 2 秒的时间间隔,所以我不应该能看到它吗?
这是粒子效果和场景转换的代码:
- (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];
}
}