在同时完成的SKAction.sequence中运行多个SKAction.runBlock

我想在x轴上来回移动一个Sprite,并决定使用序列和动作的组合。 基本上我想要多次运行SKAction.runBlock。 所以我创build了一个SKAction.sequence并且在这个动作中创build了多个SKAction.runBlock 。 它看起来像这样:

 runAction(SKAction.sequence([SKAction.runBlock({ self.moveMad(self.size.width*0.1) }), SKAction.runBlock({ self.moveMad(self.size.width*0.9) })])) func moveMad(posX: CGFloat) { let move = SKAction.moveTo(CGPoint(x: posX, y: size.height - mad.size.height/2), duration: 3) mad.runAction(move) } 

在SKAction.sequence(SKAction.runBlock)中,我调用一个函数来创build一个moveTo Action。 这工作,但问题是,我的序列不起作用。 它只是向一个方向移动(右侧)。 我也试图实现一个完成处理程序,但也没有解决问题。

我在这里做错了什么?

尝试这个:

 mad.runAction(SKAction.sequence([SKAction.moveTo(CGPoint(x: self.size.width * 0.1, y: size.height - mad.size.height/2), duration: 3), SKAction.moveTo(CGPoint(x: self.size.width*0.9, y: size.height - mad.size.height/2), duration: 3)]))