Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从AndEngine GLES2中的SD卡加载图像作为精灵_Android_Andengine_Sprite - Fatal编程技术网

Android 从AndEngine GLES2中的SD卡加载图像作为精灵

Android 从AndEngine GLES2中的SD卡加载图像作为精灵,android,andengine,sprite,Android,Andengine,Sprite,我已经搜索了所有的论坛,但我无法得到任何工作代码。我想从AndEngine GLES2的SD卡上加载一个sprite图像。有人能给我一个代码吗? 任何帮助都将不胜感激。这是我试过的 File imageFile = new File(pFilePath); BitmapTextureAtlas texture = new BitmapTextureAtlas(myCxt.getTextureManager(),540 , 960 , TextureOptions.DEFAULT); FileBi

我已经搜索了所有的论坛,但我无法得到任何工作代码。我想从AndEngine GLES2的SD卡上加载一个sprite图像。有人能给我一个代码吗? 任何帮助都将不胜感激。这是我试过的

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中,下面给出的行生成编译时错误 构造函数文件BitmapTextureAtlassSourceFile未定义 FileBitmapTextureAtlasSource fileTextureSource=新的FileBitmapTextureAtlasSourceimageFile

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

试试这个

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);
试试这个

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);

只需直接复制我的旧项目,它位于活动类内部,它从内部存储加载图像,您可以将其更改为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();

只需直接复制我的旧项目,它位于活动类内部,它从内部存储加载图像,您可以将其更改为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();

我已经找到了问题的解决办法。 FileBitmapTextureAtlasSource在AndEngine2中已更改。 这是为我工作的代码

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());

我已经找到了问题的解决办法。 FileBitmapTextureAtlasSource在AndEngine2中已更改。 这是为我工作的代码

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());

Gaurav,你从另一篇文章中复制了上面给出的相同代码。此代码适用于AndEngine1,但不适用于GLES 2。但是谢谢你的帮助。是的,我只是想帮助你。我想你可能还没有看到这篇文章……Gaurav,你从另一篇文章复制了上面给出的相同代码。此代码适用于AndEngine1,但不适用于GLES 2。但是谢谢你的帮助。是的,我只是想帮助你。我想你可能还没有看到这篇文章。。。