我正在用Swift和Spritekit编写一个小型2D游戏。 我有一个gameOver()函数,它使视图转到另一个场景(结束游戏),它在touchesBegan()函数中工作正常,但在条件满足时更新()函数它只是冻结游戏,没有& #39;去新场景,问题是什么? 我的猜测是update()函数只有1帧的时间来完成作业,而且它不能在那么短的时间内完成gameOver()函数,是吗?
以下是代码:
override func update(currentTime: CFTimeInterval) {
if hero.position.y <= 0 {
gameOver()
}}
答案 0 :(得分:1)
您的更新方法可能是重复调用gameOver方法。你需要在第一次调用时添加一个BOOL并将其设置为true,只需要调用一次。