使用 spritekit,如何在横向卷轴游戏中实现滚动、随机倾斜的地板?

Using spritekit, how can you achieve a scrolling, randomly sloped floor in a side scrolling game?

我正在考虑类似于 Ski safari 的内容,如下面的 link 所示。 使用 SKActions 创建带有静态精灵的横向滚动效果非常简单,但是如果我想在随机山丘中使用相同的精灵(它是一个矩形),是否需要在每一帧转换精灵以创建新的山丘?如果是这样,您如何从 SpriteKit 中转换精灵?我觉得在移动平台上 运行 会导致帧率大幅下降

如果不是,是否意味着您必须自己创建斜坡并随机编程?

为了完整起见,下面是我如何生成一个简单的滚动地板:

func makeBackground(){

var backgroundTexture = SKTexture(imageNamed: "sprite-floor")

var shiftBackground = SKAction.moveByX(-backgroundTexture.size().width, y: 0, duration: 1.4)
var replaceBackground = SKAction.moveByX(backgroundTexture.size().width, y: 0, duration: 0)
var movingAndReplacingBackground = SKAction.repeatActionForever(SKAction.sequence([shiftBackground, replaceBackground]))

 for(var i: CGFloat = 0; i < 5; i++){
   let background=SKSpriteNode(texture: backgroundTexture)
   background.anchorPoint = CGPointZero
   background.size.height = self.frame.height / 10
   background.position = CGPoint(x: backgroundTexture.size().width/2 + (backgroundTexture.size().width * i), y: background.size.height)
   background.runAction(movingAndReplacingBackground)

   self.addChild(background)
 }
}

(出于某种原因,SO 图片上传器无法正常工作,所以这是我的示例的 link:http://www.unwinnable.com/wp-content/uploads/2012/04/Ski.jpg

以下教程可能会有所帮助。

http://www.raywenderlich.com/32954/how-to-create-a-game-like-tiny-wings-with-cocos2d-2-x-part-1

它涉及复制 Tiny Wings 的关卡创建,该关卡已按程序生成山丘着陆。对你来说应该是一个很好的起点。