私はちょっと変わった問題を抱えているようですが、1つの電話で2つのテクスチャが白い四角形で表示されるので、まったく読み込まれません。もう1つの問題は、ゲームを再開するとローディング画面が表示されることです。アプリが一時停止したときにはうまくいきますが、2回目のレジューム後にテクスチャが携帯電話に読み込まれなくなります...ただし、読み込み中のテクスチャがすべて表示されます良い。Android OpenGLいくつかのテクスチャがロード/リロードされていません
すべてのテクスチャは2の累乗で、024x1024です...合計で約20のテクスチャがあります。
問題の種類にはどのような理由がありますか?
ここでリロードするためのコードがある...すべてが、これは負荷方法であるところである
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
super.onSurfaceCreated(gl, config);
if(firstTimeCreate) {
load(); //load settings
Assets.Load(this);
firstTimeCreate = false;
} else {
//When screen is resumed....
Assets.ReloadLoadingScreen();
}
...
GL10 gl = glGraphics.getGL();
int[] textureIds = new int[1];
gl.glGenTextures(1, textureIds, 0);
textureId = textureIds[0];
InputStream in = null;
try {
in = fileIO.readAsset(fileName);
Bitmap bitmap = BitmapFactory.decodeStream(in);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
setFilters(GL10.GL_LINEAR , GL10.GL_LINEAR);
gl.glBindTexture(GL10.GL_TEXTURE_2D, 0);
width = bitmap.getWidth();
height = bitmap.getHeight();
bitmap.recycle();
} catch(IOException e) {
throw new RuntimeException("Couldn't load texture '" + fileName +"'", e);
} finally {
if(in != null)
try { in.close(); } catch (IOException e) { }
}
とバインド方法...
public void bind() {
GL10 gl = glGraphics.getGL();
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
}
上記に何か間違っているとは思わないでしょうが、おそらくありますか?
は、ほとんどすべてのローディングコードを追加しました – Chris