Xcode 如何让 SkSpriteNode 在点击时向上移动?

In Xcode how would I get a SkSpriteNode to move up when clicked on?

如何让SkSpriteNode在点击时向上移动? -谢谢

https://i.stack.imgur.com/fcOvr.png

假设您的节点名为 box

使用触摸开始功能

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    for _ in touches{
        let touch:UITouch = touches.first!
        let touchLocation = touch.location(in: self)
        box.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
        box.physicsBody?.applyImpulse(CGVector(dx: 0, dy:300))

    }

}

applyImpusle 方法采用 x 值沿 x 轴(向左或向右)移动,采用 y 值沿 y 轴(向上或向下)移动。相应地设置dy。

其余部分取决于您的场景属性,例如重力、摩擦力、盒子质量等

在不使用 physicsBody 的情况下,您可以使用此代码,只需更改向上移动的方式(为了简单起见,我手动执行此操作)。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    for touch in touches {
        let location = touch.location(in: self)
        
        if sprite.contains(location){
            
            sprite.position = CGPoint(x: 0, y: 10)
        }