我正在用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)
}
最佳答案
如果您从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的持续时间来更改精灵移动的速度