2014-01-16 25 views
3

我正在开发一个使用libgdx的游戏。现在,我想要在我的地图上放置背景(地图大小不固定,但我稍后会决定)。我的地图是平铺的,但我不使用TiledMaps。所以我用自己的代码/编辑器创建并加载地图。在libgdx中加载大背景的最佳方法

我现在的问题:我应该如何实现背景?

我想到了不同的方式:

  • 加载一个巨大的图片,它涵盖了所有的地图。这不是真的很好,因为我呈现的东西,这不是在我的viewport (80 Tiles X,50 Tiles Y)

  • 在4个或更多图像中展开图像并在视口中加载图像。问题:在某些时候,可能所有图像的一部分在视口中,因此所有图像都发送到GPU了吗?

  • 有1图像涵盖了viewport (80,50)并且跟在相机之后。我认为最好的表现,但它会看起来很蠢...

  • 或者每个瓷砖都有一个自己的图像和对象在他们上面绘制。请注意,我只在视口内渲染Tiles。但是在Gamestart上它需要加载关于关卡中每个图块的信息。

有关信息:我的游戏是自上而下和背景显示地板需要这么没有详细的丘陵等,只是也许一些简单的沙漠外观之类的东西。还有更好的方法吗?

什么是性能和光学的最佳方式?

+0

只是我注意到的性能事情。为什么渲染不在视口中的对象?你失去了很多的表现。只需更新视口外的obj,不要渲染它们。 – BennX

+0

我不在视口外渲染瓦片,但是当图像的一部分在视口中时,我认为整个图像都会被渲染。 这是错的吗? – Springrbua

+0

nono多数民众赞成正确。但是,只是想知道,因为你写道,你渲染的东西不在你的视口。 – BennX

回答

5

如果你的游戏是基于瓷砖。让背景平铺也会更有意义。只需使用另一个。如果你的编辑器/加载器不支持多个图层,那么我建议你切换到另一个图层,或者添加这些特性(如果可能的话)。

背景显示地板,所以没有需要详细的山丘等,也许只是一些简单的沙漠沙看起来像这样的事情。

这是很容易在类似沙漠重用瓷砖,因为他们所有的瓷砖都非常相似(砂)。

+0

啊Lestat你再次xD像往常一样好的答案!非常感谢。我没有编辑器,因为我刚开始使用游戏,所以我认为我可以支持多个图层。所以在启动时加载没有太多东西?谢谢 – Springrbua

+1

不用担心,用当前的设备技术,你不会有任何问题加载2层或更多层的瓷砖:) – Lestat

+0

啊好吧谢谢:我不知道如果我甚至想要生产Android版本导致触摸屏控制对于那种游戏xD不会有好处 – Springrbua

相关问题