0
在我的測試程序的Android版本中,首先運行它的一切都很好,但隨後運行它,所有紋理都是白色塊。libGDX所有紋理/精靈白色塊
但是桌面版本沒什麼問題,它只有Android。另外,如果我在發佈或調試時通過Eclipse運行程序,它也可以每次運行。
什麼修復它是如果我去任務管理器和'清除記憶'。
我在啓動時加載我的spritesheet,我很確定我正在處理所有內容。
什麼可能是錯的?
在我的測試程序的Android版本中,首先運行它的一切都很好,但隨後運行它,所有紋理都是白色塊。libGDX所有紋理/精靈白色塊
但是桌面版本沒什麼問題,它只有Android。另外,如果我在發佈或調試時通過Eclipse運行程序,它也可以每次運行。
什麼修復它是如果我去任務管理器和'清除記憶'。
我在啓動時加載我的spritesheet,我很確定我正在處理所有內容。
什麼可能是錯的?
修正了它。我想我知道爲什麼,但不是100%
在我班:公共類GameGraphics實現一次性{
我做了這個一個單:
public static GameGraphics getInstance(){
if(spritesInstance==null) {
spritesInstance=new GameGraphics();
spritesInstance.spriteSheet = new Texture(Gdx.files.internal("data/sprite_sheet.png"));
spritesInstance.sprites=TextureRegion.split(spritesInstance.spriteSheet, 32, 32);
for(TextureRegion r : spritesInstance.sprites[0]) r.flip(false,true);
}
return spritesInstance;
}
所以處理被調用時,紋理中被毀libGDX但我的實例仍然存在。爲什麼? libgdx/opengl有沒有其他的問題?
這根本不是一個「陷阱」。如果你沒有將你的實例重置爲'null',那麼在一個自制的Singleton中,你不能認爲這是libgdx的錯誤......你應該使用AssetManager來處理這樣的東西。它專門爲這項工作而設計。 – noone
乾杯,我的意思不是libgdx/opengl中的錯誤,但更多的是我讀了十幾次代碼,這一切對我來說都很好。我想我只是假設,因爲處置被稱爲我的指針也是:) 我還沒有看過AssetManager,剛開始。 –