2013-05-06 59 views
0

我試圖顯示使用Sprite類縮放的紋理。問題是當我嘗試運行我的代碼時。我可以在Android 4.1中顯示紋理,但是當我在另一個Android中運行相同的程序時,例如2.2,2.3.6 ...則不顯示Sprite。這是我的代碼。使用Sprite.draw時未繪製的Sprite類(批處理)LibGDX

public void render() { 
    // TODO Auto-generated method stub 
    Gdx.gl10.glClearColor(1, 0.4f, 0.3f, 1); 
    Gdx.gl10.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    if(estadojuego==0){ 
     batch.begin(); 
     sboton1.draw(batch); 
     sboton2.draw(batch); 
     batch.end(); 
     if(Gdx.input.isTouched()){ 
      System.out.println("x"+Gdx.input.getX()); 
      System.out.println("y"+Gdx.input.getY()); 
      if(Gdx.input.getY()<(altura-posicion1.y) && Gdx.input.getY()>(altura-(posicion1.y+posicion1.height))){ 
       if(Gdx.input.getX()<(posicion1.x+posicion1.width) && Gdx.input.getX()>posicion1.x){ 
        //estadojuego=1; 
        System.out.println("boton1"); 
       } 
       if(Gdx.input.getX()<(posicion2.x+posicion2.width) && Gdx.input.getX()>posicion2.x){ 
        estadojuego=2; 
       } 
      } 
     } 
    } 
    if(estadojuego==2){ 
     batch.begin(); 
     sboton3.draw(batch); 
     batch.end(); 
     if(Gdx.input.isTouched()){ 
      if(Gdx.input.getY()<(altura-posicion3.y) && Gdx.input.getY()>(altura-(posicion3.y+posicion3.height))){ 
       if(Gdx.input.getX()<(posicion3.x+posicion3.width) && Gdx.input.getX()>posicion3.x){ 
        estadojuego=0; 
       } 
      } 
     } 
    } 
} 

非常感謝和抱歉我的英語不好。

+0

暫時刪除除gl.clear(),batch.begin()/ end()和sprite.draw()以外的所有邏輯,然後再試一次,如果您從Eclipse運行,然後檢查logcat輸出 – 2013-05-07 02:54:30

+0

我做了它,但精靈沒有顯示,我無法在logcat上發現任何錯誤。我發現的唯一的事情就是行:沒有JNI_OnLoad發現/data/data/com.mforcen.pruebas/lib/libgdx.so跳過初始化。但是,同樣的代碼可以正常運行的是Android 4.1 – MForcen 2013-05-07 18:18:37

+0

還有一堆關於無JNI_OnLoad的SO線程,這表明它不是容易造成的一個問題。我所能建議的只是檢查badlogic論壇。 – 2013-05-07 22:35:57

回答

0

好像你沒有爲您的一批Matrix4

使用此:

private Matrix4 Projection; 

創建()

Projection = new Matrix4().setToOrtho2D(0, 0, (float) Gdx.graphics.getWidth(), (float) Gdx.graphics.getHeight()); 

渲染() batch.begin前();

batch.setProjectionMatrix(Projection); 

我希望這會幫助你。