Sprite-Kit:节点不会向左移动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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移动

答案

当你应该使用moveBy时,你正在使用moveTo

另一答案

你应该试试这个:

 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)
}

我改变了功能

以上是关于Sprite-Kit:节点不会向左移动的主要内容,如果未能解决你的问题,请参考以下文章

Sprite-Kit:移动SKSpriteNode

只有当按下左键时,玩家才会向左移动并且不会停止

我的应用程序使用片段,但我需要从左到右从右向左滑动

UITextfield 的文本在填充后不会向左移动 - 因为我一直在输入

在我的 Sprite-Kit 游戏中实现这个动作的正确方法是啥?

Sprite-kit:检测左右触摸