2014-02-11 52 views
1

我正在用桌面/ android構建一個libgdx的小遊戲。一切工作正常,如果在桌面上運行,但它在android上有一個奇怪的問題。在Android的libgdx網格渲染不啓動

當我從菜單畫面切換到遊戲畫面時,我可以聽到遊戲畫面的配樂,但畫面不變。如果我點擊屏幕,我會聽到遊戲的聲音,但圖片保持不變(菜單屏幕)。最重要的是,這不會每次都發生 - 有些時候屏幕變化是正確的,如果它確實能夠正常運行,並且不會減速......

呈現代碼如下,我發現問題消失,如果我得到擺脫網渲染:

Gdx.gl.glClearColor(1, 1, 1, 1); 
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

camera.update(); 
game.batch.setProjectionMatrix(camera.combined); 

game.batch.begin(); 
    game.batch.draw(UI.LevelScreenSkin.getRegion("LevelBackGround"), UI.BG_TEXTURE_OFFSET_X, UI.BG_TEXTURE_OFFSET_Y, UI.BG_TEXTURE_WIDTH, UI.BG_TEXTURE_HEIGHT); 
game.batch.end(); 

MainStage.act(); 
MainStage.draw(); 

//get updated mesh data from blocks 
updateGlobalMeshData(false); 
setGlobalMeshData(); 

//enable blending 
Gdx.gl.glEnable(GL10.GL_BLEND); 

//render blocks 
globalMesh.render(GL10.GL_TRIANGLES, 0, ThisLevel.globalMesh.getMaxIndices()); 

//render blocks' borders 

//enable texture binding 
Gdx.graphics.getGL10().glEnable(GL10.GL_TEXTURE_2D); 

//render borders 
borderTexture.bind(); 
globalBorderMesh.render(GL10.GL_TRIANGLES, 0, globalBorderMesh.getMaxIndices()); 

//disable texture binding and blending 
Gdx.graphics.getGL10().glDisable(GL10.GL_TEXTURE_2D); 
Gdx.gl.glDisable(GL10.GL_BLEND); 

二目有大約2000個頂點,所以首先我想也許我的設備無法處理這些,但在這些情況下,當遊戲開始時,一切都正常運行和渲染不用任何進展緩慢。

回答

0

問題解決了,當我切換到OpenGL 2 - 也許這是一些小故障,在設備上向後兼容...