【发布时间】:2014-01-12 15:57:46
【问题描述】:
我正在使用 SpriteKit 制作游戏。 我正在检查玩家是否在更新方法中死亡,如下所示:
-(void)update:(CFTimeInterval)currentTime
{
if (self.player.dead) {
[self gameOver];
}
}
gameOver 方法如下:
-(void)gameOver {
SKView * skView = (SKView *)self.view;
GameOverScene *gameOver = [GameOverScene sceneWithSize:skView.bounds.size];
gameOver.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:gameOver transition:[SKTransition doorsOpenHorizontalWithDuration:1.0]];
}
由于某种原因,GameOver 场景没有被呈现,而是不断调用当前屏幕的更新方法。我做错了什么?
【问题讨论】:
-
你是否曾将播放器的
dead属性设置为YES? -
是的,这是在另一个班级完成的,我在玩家死亡时做了一个 NSLog 来测试它
-
出于调试目的,在 update 方法的 if 语句中插入一个 NSLog,在 gameOver 方法中插入另一个。是否被调用?
-
我在两个地方都添加了NSLog,都在调用,但是场景没有变化
标签: ios sprite-kit