首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibGDX导入TMX文件

LibGDX导入TMX文件
EN

Stack Overflow用户
提问于 2015-11-12 03:16:55
回答 2查看 1.6K关注 0票数 0

我一直在学习用java和libgdx编写游戏代码。在我尝试过的任何语言中,我最讨厌的部分是级别编辑器(.TMX,平铺)解析。用于libgdx的Github表示,有一个有用的类,我一直在尝试遵循这些说明,但我被卡住了。

基本上,如果我注释掉下面的代码行,应用程序运行良好,但当然没有任何级别元素。当我有这一行代码,它会立即崩溃我的手机,同时加载应用程序:

代码语言:javascript
复制
TiledMap map

public Level(OrthographicCamera camera) {
    map = new TmxMapLoader().load("level1.tmx"); /// THIS LINE CRASHES IT
}

我已经检查了游戏层次结构中Android文件夹中的'level1.tmx‘文件肯定存在于我的“资产”文件夹中。

如果您确实需要我剩下的代码,我很乐意把它放在上面,但是有很多垃圾与问题无关。谢谢你的帮助

编辑:我认为有一件事可能是我在平铺编辑器中制作的文件类型。(即)(我选择了zlib压缩)其他选项是XML,我认为是gzip

  • 另一个编辑--我在Android Studio的底部看到了一条错误消息,上面写着无法加载文件“. tiles -Brown.png”--我不知道我必须加载这些纹理,使用的两个tiles png文件也已经在资产文件夹中了,但是它说不能加载错误。请帮帮忙
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 06:20:53

你不必自己加载纹理。加载器将为您加载所有引用的纹理,但您必须将它们放在与使用TilEd创建地图时使用的相同位置的资产文件夹中。既然你做得不对,你就会得到例外。

这样做的一个好方法是在您的levels目录中创建一个文件夹textures和一个文件夹textures。将您的.tmx文件放入levels中,并将标题集放在textures中。现在,当您从TilEd导入一个tileset时,它将被引用为../textures/tileset.png。为了确保这是正确的,您可以检查.tmx文件。不要使用绝对文件路径!

票数 0
EN

Stack Overflow用户

发布于 2015-11-12 08:43:11

如果您的错误是“无法加载文件”.tiles-Brown.png“,请转到存储.tmx映射的窗口中的文件夹。右键单击并在记事本中打开。在那里您将看到文件顶部使用的每一项资产的引用路径。确保该资产存在于项目中指定的路径中。如果它不存在或不同,则将其更改为存储此映射的资产的位置。然后保存并刷新android项目。这将解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33663819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档