2014-12-11 14 views
2

我想创建一个无限的游戏背景,如'Binary Rush'或'Stay in the line'。背景可能是一个简单的轨道。这就像一个随机的赛车道。Sprite Kit:如何创建无限的游戏背景,比如'Binary Rush'或'Stay in the line'?

目前我使用单个SKShapeNode绘制路径,并将lineWidth设置为一个大数字。我使用var path = CGPathCreateMutable();来创建随机轨道。 显然这不是理想的解决方案,因为该轨道仅限于一条线。我希望赛道能够以不同的宽度扩展,甚至可以在赛道中添加一些障碍物。

所以我的问题是: 1.对于这两个游戏,他们的背景只是图像,当滚动时,它只是加载一个随机的? 2.我怎样才能随机生成这些曲目,并且可以灵活地改变它的宽度或在它们内部添加障碍物? 3.如何结合这些轨道的不同部分,我假设不创建无限长的路径。应该将其分割成不同的片段,并在片段滚动屏幕后将removeFromParent移除。

感谢一个looooooooooooooot !!! :)

回答

0

使用您正在使用ShapeNode的方法。不要将线条宽度做得大一些,而应制作另一条线条,该线条基本上是第一条线的副本,该线的第一行将被移动到特定数量的像素上。这将给你的界限(如道路)。您可以设置碰撞和接触事件,以防止汽车离开道路或破坏撞在墙上的汽车等。

您将第二个墙移过多少像素可以控制宽度。根据班次的不同,您可以轻松地使赛道变得更宽或更薄。

创建一个随机放置轨道中的对象的算法。你可以使用两条边界线来计算你应该产生这些对象的位置。

+0

谢谢,我会尝试你的方法。 – artekr 2014-12-12 04:48:14

0

我想有一说根据我的经验,虽然我已经在开发游戏

经验少,我在游戏中的需求,我需要有一个无限滚动条在屏幕上上一个英雄运行我已经创建了使用图像的无限运行栏。我使用了超过屏幕大小的图像,并且每当它到达图像的终点时,我都会通过创建无限大图像将图像重置为原始位置酒吧具有一定的速度。希望这会有所帮助,虽然它不能回答你所有的问题。

+0

感谢您的回答,所以您的意思是路径是预先定义的,并转换为纹理或图像? – artekr 2014-12-11 16:23:48

+0

路径是在预定义的意义上,我只有一个路径不会动态改变,但我们可以使用图像安置他们使用随机功能 – yashwanth777 2014-12-12 05:44:20