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



我正在考虑类似于滑雪之旅的东西,如下面的链接所示。使用 SKActions 创建带有静态精灵的横向滚动效果非常简单,但如果我想在随机山丘中使用相同的精灵(这是一个矩形),是否需要每帧转换精灵才能创建新山丘?如果是这样,如何从精灵套件中转换精灵?我觉得在移动平台上运行时,这会导致帧速率大幅下降

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

为了完整起见,以下是我生成简单滚动地板的方法:

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图像上传器不起作用,所以这里是我的例子的链接: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

它涉及复制来自小翅膀的关卡创建,这些小翅膀已经程序化地生成了可以降落的山丘。应该是一个很好的起点。

最新更新