我正在使用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)
}
答案 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中的持续时间来更改精灵移动的速度