Sprite-Kit:Node不会向左移动

时间:2017-12-21 09:54:45

标签: ios swift sprite-kit

我有一个平坦地形的球,但是我试图根据用户的touch位置移动球,所以当用户点击屏幕上的任何位置时,我移动我的球触摸的X位置

我的代码:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

   for touch in touches {

            if (ball?.hasActions())! {
                ball?.removeAllActions()
            }
            let moveBY = SKAction.moveBy(x: touch.location(in: view).x, y: 70, duration: 1)
            self.ball?.run(moveBY)
    }
}

然而,当用户点击屏幕时,球会相应地移动,但是当第二次点击时,球不会根据触摸X移动

2 个答案:

答案 0 :(得分:1)

当您使用moveBy时,您正在使用moveTo

答案 1 :(得分:0)

你应该试试这个:

 func touchDown(atPoint pos : CGPoint) {

    if ball.hasActions() {
        ball.removeAllActions()
    }

    let moveBY = SKAction.moveBy(x: pos.x, y: 70, duration: 1)
    self.ball.run(moveBY)
}

我改变了功能