0

如何直接从扩展文件创建纹理。我们得到 InputStream,现在如何使用这个 Input Stream。如果我转换位图然后使用它开始给出内存不足。

我努力了

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(appContext,
    mainVersion, patchVersion);

InputStream fileStream = expansionFile.getInputStream(pathToFileInsideZip);
4

1 回答 1

0

您可以按如下方式创建:

File imageFile = new File(imagePath);
BitmapTextureAtlas mBitmapTextureAtlas = new BitmapTextureAtlas(
            activity.getTextureManager(), 1024, 1024, TextureOptions.BILINEAR);
IBitmapTextureAtlasSource fileTextureSource = FileBitmapTextureAtlasSource
                    .create(imageFile);
ITextureRegion textureRegion = BitmapTextureAtlasTextureRegionFactory
            .createFromSource(mBitmapTextureAtlas, fileTextureSource, 0, 0);

内存管理:

  1. 给出相对于图像大小的纹理 Atlas 大小。例如,如果您的图像尺寸为 200X200,则给出 256 X 256,否则给出更多纹理会浪费内存。
  2. 并且在不需要时也卸载纹理。
于 2013-09-13T12:57:59.293 回答