在我的應用程序的某些點,我需要改變多邊形的紋理。更改線程中多邊形紋理的問題....白色紋理
爲此,我必須從assets文件夾中加載一個位圖,然後將位圖傳遞給我的多邊形的「loadBitmap」方法,以更改紋理。
它工作正常,但我需要的代碼進入一個線程,因爲位圖的加載時間它frozing我的OpenGL多邊形時,它加載從資產文件夾中的位圖。
因爲我實現了一個線程,它被稱爲改變紋理,但有些事情因爲我的紋理是空的(白色),當我使用線程出錯了,但它的工作原理,如果我不使用線程,這是我的線程代碼:
public class addNextPage extends Thread
{
GL10 gl;
public addNextPage(GL10 gl) {
super();
this.gl = gl;
}
public void run()
{
super.run();
Bitmap bm=loadImage(pages.get(0));
auxSquare.loadBitmap(context, gl, bm);
squares.set(3,auxSquare);
currentPage+=1;
//vuelvo a recolocar los squares
int posCont=-2; //el primer polígono está a la izquierda, no se ve.
for (int i=0;i<squares.size();i++){
if (squares.get(i)!=null)
squares.get(i).setPosition(posCont,0);
posCont+=2;
}
}
}
是我tryed它,那並不作品 – NullPointerException 2012-02-28 14:52:46