1
如何檢測我的紋理在android上被破壞? 我對我的GLSurfaceView渲染器類目前看起來是這樣的:如何檢測紋理何時被破壞
public void onDrawFrame(GL10 gl)
{
nativeLibrary.drawFrame();
}
public void onSurfaceChanged(GL10 gl, int width, int height)
{
if (reload)
{
library.glRecreate(); //this method reloads destroyed textures
}
else
{
nativeLibrary.init(width, height)); //this method initializes my game
reload = true;
}
}
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
}
的問題是,並不總是奏效。當我按下我的遊戲中的主頁按鈕,然後再次啓動它時,它就像一個魅力。但是,當我鎖定設備,然後再次解鎖時,所有紋理都只是黑色。當我鎖定時,一切似乎都會重置(我的遊戲總是回到主菜單中)。當我使用主頁按鈕退出遊戲並在此之後進行鎖定/解鎖時,遊戲不會重置。
也許一個重要的細節:它以前的工作。當時我手動創建了我的GLSurfaceView,現在我通過xml加載它。 – Brammie 2011-02-14 15:14:10
如果你回去手動創建它,它是否會再次工作?大多數(如果不是全部的話)示例在代碼中創建GLSurfaceView。我想我曾嘗試從XML創建它,不記得它爲什麼失敗。 – Thomas 2011-02-14 18:05:24