【发布时间】:2014-04-05 23:22:35
【问题描述】:
在 Libgdx 中绕过最大纹理大小的最佳方法是什么?我目前有一个 2048x2048 的纹理,带有一个放大 2 倍的正射凸轮,它用作我的自上而下射手的“地图”。问题是 2048x2048 的空间不足以让玩家四处移动,所以我需要在不创建巨大纹理的情况下扩展地图。我要解决这个问题了吗?我不应该只使用巨大的纹理作为背景吗?
【问题讨论】:
在 Libgdx 中绕过最大纹理大小的最佳方法是什么?我目前有一个 2048x2048 的纹理,带有一个放大 2 倍的正射凸轮,它用作我的自上而下射手的“地图”。问题是 2048x2048 的空间不足以让玩家四处移动,所以我需要在不创建巨大纹理的情况下扩展地图。我要解决这个问题了吗?我不应该只使用巨大的纹理作为背景吗?
【问题讨论】:
只有部分手机支持大于 2048x2048 的纹理。这是 GPU 硬件/OpenGL 驱动程序的限制,而不是 LibGDX 的错。
最常见的解决方案是用几个较小的纹理构建地图,这些纹理可以重复创建巨大地图的错觉。您不只是将世界地图分成 2048x2048 的块,而是有一堆 32x32 像素的图块,代表诸如草、泥土、草与泥土等事物。
这就是 LibGDX 有地图包的原因。见https://github.com/libgdx/libgdx/wiki/Tile-maps
您无需尝试以编程方式创建地图,而是将地图记录在文本文件中并在运行时使用地图加载器。有几种受支持的地图格式。创建地图文件的最佳方式是使用地图编辑器,如http://www.mapeditor.org/
【讨论】: