当我运行此代码时,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表现得像这样。