我试图在用户结束触摸屏幕后更改SKSpriteNode的位置。 x和y位置应该是随机的,但当然仍然在屏幕上。
这是我写的函数:
//Move object to a random position on the screen
func randomPosition(object: SKSpriteNode){
object.position.x = CGFloat(arc4random_uniform(UInt32(UIScreen.main.bounds.width)))
object.position.y = CGFloat(arc4random_uniform(UInt32(UIScreen.main.bounds.height)))
}
但遗憾的是节点无法可靠移动。大多数时候它只是稍微旋转一下。 (它看起来非常像一个错误)
以下是我从上面调用该函数的地方:
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
...
randomPosition(object: enemy)
...
}
当我只调用一次randPosition-Function时,例如在didMove函数中,它确实可以正常工作
提前谢谢!