使用spritekit,如何在侧滚动游戏中实现滚动,随机倾斜的地板?

时间:2015-03-11 00:56:31

标签: objective-c swift sprite-kit

我正在考虑类似于滑雪狩猎的事情,如下面的链接所示。 使用静态精灵创建侧滚动效果对于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图片上传器不起作用,所以这里是我示例的链接:http://www.unwinnable.com/wp-content/uploads/2012/04/Ski.jpg

1 个答案:

答案 0 :(得分:1)

以下教程可能会提供帮助。

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

它涉及从Tiny Wings复制水平创造,这些过程在程序上产生了山丘。应该是一个很好的起点。