1

マウントされた obb 拡張ファイルからテクスチャを読み込もうとしていますが、AndEngine はこのファイルを開くことができません。それが私のコードです:

    BuildableBitmapTextureAtlas atlas = new BuildableBitmapTextureAtlas(textureManager, 2048, 2048, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
    BitmapTextureAtlasTextureRegionFactory.setAssetBasePath(obbManager.getMainRoot() + "/");
    File file = new File(obbManager.getMainRoot() + "/background.png");
    if (file.exists()) {
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    }
    background = BitmapTextureAtlasTextureRegionFactory.createFromAsset(atlas, this, "background.png");

そして、それは私が Logcat で見るものです:

02-10 22:40:09.170: INFO/System.out(20962): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
02-10 22:40:09.180: ERROR/AndEngine(20962): Failed loading Bitmap in AssetBitmapTextureAtlasSource. AssetPath: /mnt/obb/8d6d9efb8ab5fbfaa452d7ff7e8047c5/background.png
        java.io.FileNotFoundException: /mnt/obb/8d6d9efb8ab5fbfaa452d7ff7e8047c5/background.png
        at android.content.res.AssetManager.openAsset(Native Method)
        at android.content.res.AssetManager.open(AssetManager.java:315)
        at android.content.res.AssetManager.open(AssetManager.java:289)
        at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:48)
        at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:39)
        at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:140)
        at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:132)
        at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:128)

したがって、ファイルは存在しますが、まだ FileNotFoundException が発生しています。

4

2 に答える 2

1

私はそれを手に入れました:自分のファイルをではなく apkcreateFromAssetで見つけようとしました。したがって、AndEngine の FileBitmapTextureAtlasSource を使用する必要があります。/mnt/.../background.pngassets/mnt/.../background.png

BitmapTextureAtlasTextureRegionFactory.createFromSource(atlas, FileBitmapTextureAtlasSource.create(file))
于 2013-02-14T12:02:16.370 に答える
0

これを使ってみてください

background = BitmapTextureAtlasTextureRegionFactory.createFromAsset(atlas, getAssets(), "background.png");

それ以外の

background = BitmapTextureAtlasTextureRegionFactory.createFromAsset(atlas, this, "background.png");
于 2015-08-05T04:30:26.520 に答える