2013-07-26 94 views
2

我搜索了所有的論壇,但我無法獲得任何工作代碼。我想從AndEngine GLES2中的SD卡加載一個圖像爲精靈。任何人都可以給我一個代碼?
任何幫助將被讚賞。這是我嘗試過的。從AndEngine的SD卡加載圖像爲雪碧GLES2

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(文件)是未定義」
FileBitmapTextureAtlasSource fileTextureSource = new FileBitmapTextureAtlasSource(imageFile);

我怎樣才能加載圖像作爲來自SD卡的精靈。

回答

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

拉夫工作的代碼,複製從另一個帖子上面給出的相同的代碼。 此代碼在AndEngine1中工作,但不適用於GLES 2. 但是,感謝您的幫助。 –

+0

是的,我只是想幫助你。我認爲這可能你沒有看到這篇文章... – Developer

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