我正在用LibGDX框架创建一个平台游戏。 我的引擎中的级别文件是一个zip文件,其中包含带有leveldata的文本文件和一个包含纹理和声音等级别所有资源的资源文件夹。 我正在加载这样的级别:
ZipFile archive = null;
try {
archive = new ZipFile(new File("test.zip"));
} catch (ZipException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
它在桌面上工作得很好,水平文件在jar旁边,但在android上却没有。它会抛出一个未找到exeption的文件。 这是合乎逻辑的,因为
new ZipFile(new File("test.zip"));
指的是apk旁边的zip文件。现在我想要从assets文件夹加载它们,或者从apk旁边的levels文件夹加载它们。我尝试将zipfile放入assets / maps文件夹并使用以下代码加载它:
new ZipFile(Gdx.files.internal("maps/test.zip").file());
但是这导致了相同的文件找不到exeption。 所以我的问题是:如何从libGDX的assets文件夹中加载zip文件?