【发布时间】:2017-07-02 09:27:37
【问题描述】:
如果我创建一个SKSpriteNode,并在节点上运行SKAction,则该操作在模拟器上运行,但节点的属性没有改变。
例如。在以下示例中,在模拟器中,节点从 (50,50) 开始并在 1 秒内移动到 (0,0)。但是,最后的 print 语句会打印 (50,50) 而不是新位置 (0,0)
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))")
我能想到的唯一原因是 print 语句在 SKAction 执行之前执行。如果是这种情况,那么我以后如何执行依赖于获取SKSpriteNode的位置值的代码?
【问题讨论】:
-
您不需要添加更多
SKAction来打印位置
标签: swift xcode sprite-kit swift3 skaction