Java Gdx.files.internal(“maps/”).list();列表“;“地图”';s的内容、桌面
我试图在我的游戏中列出一个“map”文件夹的内容,该文件夹本身位于assets文件夹中,带有Java Gdx.files.internal(“maps/”).list();列表“;“地图”';s的内容、桌面,java,libgdx,Java,Libgdx,我试图在我的游戏中列出一个“map”文件夹的内容,该文件夹本身位于assets文件夹中,带有Gdx.files.internal(“maps/”).list() 当通过Eclipse编译和启动时,它可以正常工作,最后我得到了我想要的“map”的列表(它找到map_test.tmx和map_test2.tmx) 但当我出口我的罐子时,它就不工作了。 我仍然可以通过执行Gdx.files.internal(“maps/map\u test.tmx”)直接加载地图,但执行Gdx.files.inter
Gdx.files.internal(“maps/”).list()代码>
当通过Eclipse编译和启动时,它可以正常工作,最后我得到了我想要的“map”的列表(它找到map_test.tmx和map_test2.tmx)
但当我出口我的罐子时,它就不工作了。
我仍然可以通过执行Gdx.files.internal(“maps/map\u test.tmx”)
直接加载地图,但执行Gdx.files.internal(“maps/”).list()代码>不返回任何内容,就好像文件夹从未存在过一样,而它实际上在那里,并且其他资产正确加载
以下是我在“地图”文件夹中获取所有地图的方式:
private String[] getMaps() {
FileHandle[] files = Gdx.files.internal("maps/").list();
Array<String> maps = new Array<String>();
for(FileHandle f : files)
if(f.extension().equals("tmx"))
maps.add(f.name());
String[] result = new String[maps.size];
for(int i = 0; i < maps.size; i++)
result[i] = maps.get(i);
return result;
}
private String[]getMaps(){
FileHandle[]files=Gdx.files.internal(“maps/”).list();
数组映射=新数组();
for(文件句柄f:files)
如果(f.extension().equals(“tmx”))
maps.add(f.name());
字符串[]结果=新字符串[maps.size];
对于(int i=0;i
有什么想法吗?您是如何导出jar文件的?是否还有另一个Gdx.files.internal(“maps/”)
采用Url
参数?然后您可以使用this.getClass().getResource(String)
解析maps文件夹,并将URL参数传递给该方法,也许是吧?我刚刚做了“File,Export,Runnable Jar File”。。。此外,我没有看到任何其他方法可以采用Url。在Eclipse中,只有一个文件的字符串为arg,而maps/目录被标记为resources目录?编辑器中将有一个特殊图标。如何检查?我不太习惯修改eclipse设置:>。我还注意到,如果我把maps文件夹放在jar所在的同一个文件夹中,jar就会工作。我的所有资产都在jar中,但映射不起作用……不支持列出绑定到jar中的文件。您是如何导出jar文件的?是否还有另一个Gdx.files.internal(“maps/”)
采用Url
参数?然后您可以使用this.getClass().getResource(String)
解析maps文件夹,并将URL参数传递给该方法,也许是吧?我刚刚做了“File,Export,Runnable Jar File”。。。此外,我没有看到任何其他方法可以采用Url。在Eclipse中,只有一个文件的字符串为arg,而maps/目录被标记为resources目录?编辑器中将有一个特殊图标。如何检查?我不太习惯修改eclipse设置:>。我还注意到,如果我把maps文件夹放在jar所在的同一个文件夹中,jar就会工作。我的所有资产都在jar中,并且可以工作,但是映射没有…不支持列出绑定到jar中的文件。