将对象移动到触摸位置

时间:2015-02-04 02:40:39

标签: objective-c swift sprite-kit

如何将“玩家”位置移动到用户触摸屏幕的位置?我希望他们能够通过点击不同的地方不断移动它。这是我到目前为止所做的,但它不起作用:

类GameScene:SKScene {

let player = SKSpriteNode(imageNamed: "Spaceship")

override func didMoveToView(view: SKView) {
    // 2
    backgroundColor = SKColor.whiteColor()
    // 3
    player.position = CGPoint(x: size.width/2, y: size.height/2)

    // 4
    addChild(player)




}

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    /* Called when a touch begins */

    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)

        let player = SKSpriteNode(imageNamed:"Spaceship")
        player.position = location




    }
}

1 个答案:

答案 0 :(得分:1)

let player = SKSpriteNode(imageNamed:"Spaceship")的{​​{1}}行中,您正在创建太空船节点的新实例。 此节点不在场景中,设置新节点的位置不会改变现有播放器节点的位置。

只需尝试重置播放器节点的位置。

尝试

touchesBegan