同时按x和y移动节点

时间:2017-11-16 19:17:58

标签: swift sprite-kit

我想用矩形创建一个游戏,它按x和y移动。 我的问题是:我是否移动了视图(播放器的查看器)或者我是否同时按x和y移动矩形?

我尝试使用以下代码同时按x和y移动矩形,但矩形仅移动y。

@objc func addRects() {

    rects = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: rects) as! [String]

    rect = SKSpriteNode(imageNamed: rects[0])

    rect.position = CGPoint(x: self.frame.width / 256 + 320, y: self.frame.height / 256)
    rect.size = CGSize(width: 180, height: 120)
    rect.zPosition = 1

    self.addChild(rect)

    moveByX = SKAction.moveTo(x: -500, duration: 2.0)
    moveByY = SKAction.moveTo(y: -800, duration: 2.0)
    removeRects = SKAction.removeFromParent()
    wait = SKAction.wait(forDuration: 2.0)

    rect.run(SKAction.sequence([moveByY,moveByY]))
    rect.run(SKAction.sequence([wait,removeRects]))
}

如何解决此问题? 谢谢

1 个答案:

答案 0 :(得分:0)

不要使用序列:

rect.run(moveByY)
rect.run(moveByX)

那么它应该同时移动" moveByY"和" moveByX"

另一个问题是,您使用过:

  

rect.run(SKAction.sequence([moveByY,moveByY]))

我希望我的回答有所帮助!