2013-05-06 77 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); 

我希望这会帮助你。