我可以重载SpriteKit的更新功能吗?

时间:2018-11-17 19:58:27

标签: swift sprite-kit

我想知道,是否可以重载SpriteKit中的更新功能,以便我的程序因此而滞后? (因此经常被称为->每帧或某物)

我正在检查更新函数中的变量,如:

func update(_ currentTime: TimeInterval)
{
    if(isLeveldone)
    {
        createNewLevel()
    }
}

我在createNewLevel函数中将isLeveldone:Bool设置为false,因此它不会在每次更新时启动该函数。 在这些支票中,我喜欢6或7。

1 个答案:

答案 0 :(得分:1)

如果“过载”是指“让它完成太多工作”,而不是面向对象的编程定义“过载”,那么可以。

但是-您可以在“ update”开始成为问题之前完成很多的工作。除非您的createNewLevel函数非常庞大,否则您拥有的东西看起来不足以导致程序滞后。

注意:Swift在OOP的意义上确实支持“重载”,即多次定义一个函数,但具有不同的签名(参数类型),但这不适用于update(这不是您要的内容) ,我意识到),因为update仅由SK引擎调用,并且您不应该自己尝试调用它。