如果我在節點上創建SKSpriteNode
並運行SKAction
,則該操作將在模擬器上運行,但該節點的屬性未更改。 例如在下面的例子中,在模擬器中,節點從(50,50)開始並在1秒內移動到(0,0)。然而,在最後打印的打印語句(50,50),而不是新的位置(0,0)Xcode SpriteKit SKAction不改變SKSpriteNode的屬性?
let test = SKSpriteNode()
test.position = CGPoint(x: 50.0, y: 50.0)
test.size = CGSize(width: 20.0, height: 20.0)
test.color = UIColor.black
addChild(test)
test.run(SKAction.move(to: CGPoint(x: 0, y: 0), duration: 1.0))
print("(\(test.position.x), \(test.position.y))")
我能想到的唯一理由是,在執行之前SKAction
print語句執行。如果是這種情況,那麼我該如何執行後面的代碼才能獲取SKSpriteNode
的位置值?
您不需要添加更多'SKAction'來打印位置 –