繁体   English   中英

LibGDX导入TMX文件

[英]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

  • 另一个编辑-我设法查看了Android Studio底部的错误消息,说无法加载文件“ .... tiles-brown.png”-我不知道自己必须加载这些纹理,即两个tile png文件使用过的文件也已经在资产文件夹中了,但是它说无法加载错误。 请帮忙

如果您的错误是“无法加载文件..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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM