0

我有两个纹理要管理。
一个在Gdx.files.internal,一个在Gdx.files.local

但似乎 API 限制我管理其中一个,而不是同时管理两者。

manager = new AssetManager( - 只需要一个解析器 - `);

manager.setLoader(TextureAtlas.class, new TextureAtlasLoader( - 只需要一个解析器 - ));

而这个只需要一位经理:

Texture.setAssetManager(经理);

有没有办法管理两个解析器?或者为两个位置构建一个解析器?

谢谢!

4

1 回答 1

2

您可以编写一个自定义FileHandleResolver,首先检查文件是否存在于第一个位置,如果不存在,则检查第二个位置。

也许是这样的:

class MyFileHandleResolver implements FileHandleResolver {
    public FileHandle resolve(String fileName) {
        FileHandle localHandle = Gdx.files.local(fileName);
        if (localHandle.exists())
            return localHandle;
        else
            return Gdx.files.internal(fileName);    
    }
}
于 2013-04-28T12:04:15.040 回答