如何通过触摸并按住屏幕的左侧和右侧来移动我的图像? - Swift

How would I move my image with a touch and hold on the left and right side of the screen? - Swift

我在 Swift 的运动中需要帮助。我有一个 SKSpriteNode,我需要有关触摸和向左或向右拖动移动以及 SKSpriteNode 的帮助。但只有左和右。当我点击另一边时,图片的 x 位置刚好 运行 顺利结束。谁能帮忙怎么做?谢谢

import SpriteKit

class PlayScene: SKScene {

    let rocket = SKSpriteNode(imageNamed: "rocket")

    override func didMoveToView(view: SKView) {
        rocket.position = CGPoint(x: self.frame.width/2, y: self.frame.height * 0.8)
        self.addChild(rocket)
    }
}

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        rocket.position = CGPoint(x: location.x, y: self.frame.height * 0.8)
    }
}

在这种情况下,火箭会在触摸的位置动画 1 秒,然后在用户移动手指时随触摸一起移动。

class GameScene: SKScene {
let rocket = SKSpriteNode(imageNamed: "rocket")
override func didMoveToView(view: SKView) {
    rocket.position = CGPoint(x: self.frame.width/2, y: self.frame.height * 0.8)
    self.addChild(rocket)
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        let location = touch.locationInNode(self)
        rocket.position = location
    }
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        let location = touch.locationInNode(self)
        let moveAction = SKAction.moveTo(location, duration: 1/*Or as long as you want it to move*/)
        rocket.runAction(moveAction)
    }
}
}

希望对您有所帮助。