[英]LibGDX importing TMX files
我一直在学习用Java和libgdx编写游戏代码。 我尝试过的所有语言中我最讨厌的部分是“关卡编辑器”(.TMX,平铺)解析。 用于libgdx的Github表示有一个有用的类对此进行了编写,我一直在尝试按照说明进行操作,但Im卡住了。
基本上,如果我注释掉以下代码行,则该应用程序可以正常运行,但当然不包含任何关卡元素。 当我在代码中有这行代码时,它会在加载应用程序时立即使我的手机崩溃:
TiledMap map
public Level(OrthographicCamera camera) {
map = new TmxMapLoader().load("level1.tmx"); /// THIS LINE CRASHES IT
}
我检查了文件“ level1.tmx”是否确实存在于游戏层次结构的Android文件夹内的“ assets”文件夹中。
如果您确实需要其余的代码,我很乐意提出来,但是有很多与问题无关的垃圾。 谢谢你的帮助
编辑:我认为可能是我在Tiled Editor中制作的文件类型。 (即我选择了zlib压缩)其他选项是XML CSV,我认为gzip
如果您的错误是“无法加载文件..tiles-brown.png”,请转至存储.tmx映射的Windows中的文件夹。右键单击并在记事本中打开。在那里您将看到一个参考文件顶部使用的每个资产的路径。请确保该资产存在于项目的指定路径中。如果不存在或与之不同,请将其更改为该地图的资产存储位置。然后保存并刷新android项目,这应该可以解决问题。
您不必自己加载纹理。 加载程序将为您加载所有引用的纹理,但是您必须将它们放在资产文件夹中与TilEd创建地图时使用的位置相同的位置。 由于您没有正确执行此操作,因此您将获得例外。
做到这一点的一种好方法是在assets
目录中创建文件夹levels
和文件夹textures
。 将.tmx文件放入levels
,并将图块放入textures
。 现在,当您从TilEd导入图块集时,它将被称为../textures/tileset.png
。 为确保这是正确的,您可以检查.tmx文件。 不要使用绝对文件路径!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.