在下一个方法运行完毕之前,SKSpriteNode位置不会更新

时间:2017-08-17 07:07:41

标签: swift sprite-kit

当我运行此代码时,SKSpriteNode精灵的位置永远不会更新(假设它从100,100以外的某个位置开始)。但是,如果我删除test2()中的while循环,它会立即更新。为什么是这样?似乎while循环停止精灵的位置更新,即使它对它没有影响(它是在一个完全不同的方法,在设置位置后调用)

override func mouseDown(with event: NSEvent) {
    test()
}

func test() {
    sprite.position = CGPoint(x: 100, y: 100)

    test2()
}

func test2() {
    while (true) {

    }
}

注意:显然这是代码的一个非常简化的版本,我只是想知道为什么sprite表现得像这样。

0 个答案:

没有答案