我一直在学习用java和libgdx编写游戏代码。在我尝试过的任何语言中,我最讨厌的部分是级别编辑器(.TMX,平铺)解析。用于libgdx的Github表示,有一个有用的类,我一直在尝试遵循这些说明,但我被卡住了。
基本上,如果我注释掉下面的代码行,应用程序运行良好,但当然没有任何级别元素。当我有这一行代码,它会立即崩溃我的手机,同时加载应用程序:
TiledMap map
public Level(OrthographicCamera camera) {
map = new TmxMapLoader().load("level1.tmx"); /// THIS LINE CRASHES IT
}我已经检查了游戏层次结构中Android文件夹中的'level1.tmx‘文件肯定存在于我的“资产”文件夹中。
如果您确实需要我剩下的代码,我很乐意把它放在上面,但是有很多垃圾与问题无关。谢谢你的帮助
编辑:我认为有一件事可能是我在平铺编辑器中制作的文件类型。(即)(我选择了zlib压缩)其他选项是XML,我认为是gzip
发布于 2015-11-12 06:20:53
你不必自己加载纹理。加载器将为您加载所有引用的纹理,但您必须将它们放在与使用TilEd创建地图时使用的相同位置的资产文件夹中。既然你做得不对,你就会得到例外。
这样做的一个好方法是在您的levels目录中创建一个文件夹textures和一个文件夹textures。将您的.tmx文件放入levels中,并将标题集放在textures中。现在,当您从TilEd导入一个tileset时,它将被引用为../textures/tileset.png。为了确保这是正确的,您可以检查.tmx文件。不要使用绝对文件路径!
发布于 2015-11-12 08:43:11
如果您的错误是“无法加载文件”.tiles-Brown.png“,请转到存储.tmx映射的窗口中的文件夹。右键单击并在记事本中打开。在那里您将看到文件顶部使用的每一项资产的引用路径。确保该资产存在于项目中指定的路径中。如果它不存在或不同,则将其更改为存储此映射的资产的位置。然后保存并刷新android项目。这将解决问题。
https://stackoverflow.com/questions/33663819
复制相似问题