ノードでSKSpriteNode
を作成してSKAction
を実行すると、アクションはシミュレータ上で実行されますが、ノードのプロパティは変更されません。 など。次の例では、シミュレータでは、ノードは(50,50)で始まり、1秒間に(0,0)に移動します。しかし、代わりに新しい位置(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))")
の終わりプリント(50,50)で、print文私は考えることができる唯一の理由は、SKAction
が実行される前に、print文が実行されるということです。この場合、SKSpriteNode
の位置の値を取得することによって、後でコードを実行するにはどうすればよいですか?
位置を印刷するために 'SKAction'を追加する必要はありません –