2

我已经搜索了所有论坛,但我无法获得任何工作代码。我想在 AndEngine GLES2 中从 SD 卡加载图像作为精灵。谁能给我一个代码?
任何帮助将不胜感激。这是我尝试过的。

File imageFile = new File(pFilePath);
BitmapTextureAtlas texture = new BitmapTextureAtlas(myCxt.getTextureManager(),540 , 960 , TextureOptions.DEFAULT);
FileBitmapTextureAtlasSource fileTextureSource = new FileBitmapTextureAtlasSource(imageFile);
TextureRegion textureRegion = TextureRegionFactory.createFromSource(texture,fileTextureSource ,0,0, true);

此代码适用于 andEngine1,但在 GLES2 中,下面给出的行正在生成编译时错误
“Construtor FileBitmapTextureAtlasSource(file) is undefined”
FileBitmapTextureAtlasSource fileTextureSource = new FileBitmapTextureAtlasSource(imageFile);

如何从 SD 卡加载图像作为精灵。

4

3 回答 3

3

我找到了问题的解决方案。
在 AndEngine2 中更改了 FileBitmapTextureAtlasSource。
这是对我有用的代码

File imageFile = new File(pFilePath);
BitmapTextureAtlas texture = new BitmapTextureAtlas(getTextureManager(),displayMetrics.widthPixels , displayMetrics.heightPixels , TextureOptions.BILINEAR_PREMULTIPLYALPHA);
FileBitmapTextureAtlasSource fileTextureSource = FileBitmapTextureAtlasSource.create(imageFile);
Engine.getTextureManager().loadTexture(texture);
TextureRegion textureRegion = TextureRegionFactory.createFromSource(texture,fileTextureSource ,0,0, false);
screenShot = new Sprite(130, 230, textureRegion, myCxt.getVertexBufferObjectManager());
于 2013-07-29T05:03:24.823 回答
1

只需直接从我的旧项目中复制(它在活动类中),它从内部存储加载图像,您可以将其更改为createFromExternalStorage(). IIRC,createFromExternalStorage()并且createFromInternalStorage()具有相同的参数,但位置不同。图像文件位于“/data/data/your_package/files/”(如果是内部)或“/sdcard/Android/your_package/files/”(如果是外部)。

BitmapTextureAtlas texture = new BitmapTextureAtlas(this.getTextureManager(), 1024, 1024);
mBeanRegion = BitmapTextureAtlasTextureRegionFactory.createFromSource(texture, FileBitmapTextureAtlasSource.createFromInternalStorage(this, "bean.png", 0, 0), 0, 0);
texture.load();
于 2013-07-28T14:15:40.563 回答
0

尝试这个

File imageFile = new File("sdcard/image");
BitmapTextureAtlas texture = new BitmapTextureAtlas(width , height , TextureOptions.DEFAULT);
FileBitmapTextureAtlasSource fileTextureSource = new FileBitmapTextureAtlasSource(imageFile);
TextureRegion textureRegion = TextureRegionFactory.createFromSource(texture,fileTextureSource ,0,0, true);
于 2013-07-26T07:50:25.957 回答