如何在游戏开始时让SKSprite节点自行并排移动?

时间:2015-06-09 00:29:53

标签: swift sprite-kit skspritenode

我正在使用spritekit进行快速游戏,我刚刚将一个图像添加到了一个SKSpriteNode的场景中。当游戏开始时,我想让它从屏幕左侧到右侧在x轴上移动,永远重复。我正在努力解决代码应该是什么。

我的图片代码是:

func addDrake1(){
    let Drake1 = SKSpriteNode(imageNamed: "Drake1")
    Drake1.position = CGPoint(x:self.frame.size.width/2, y:self.frame.size.height - 300)
    Drake1.zPosition = 2
    addChild(Drake1)
}

1 个答案:

答案 0 :(得分:0)

如果你从cgpoint的最左边开始你的精灵位置(x:0,y:frame.size.height - 300)

你可以使用这种方法:

func moveSprite() {

        let moveRight = SKAction.moveByX(frame.size.width, y: 0, duration: 2)

        let moveLeft = SKAction.moveByX(-frame.size.width, y: 0, duration: 2)


        let moveBackAndForth = SKAction.repeatActionForever(SKAction.sequence([moveRight, moveLeft]))


        Drake1.runAction(moveBackAndForth)

     }   

您还可以通过更改动作moveLeft和moveRight中的持续时间来更改精灵移动的速度