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;
}
}
}
}
}
非常感谢和抱歉我的英语不好。
暂时删除除gl.clear(),batch.begin()/ end()和sprite.draw()以外的所有逻辑,然后再试一次,如果您从Eclipse运行,然后检查logcat输出 – 2013-05-07 02:54:30
我做了它,但精灵没有显示,我无法在logcat上发现任何错误。我发现的唯一的事情就是行:没有JNI_OnLoad发现/data/data/com.mforcen.pruebas/lib/libgdx.so跳过初始化。但是,同样的代码可以正常运行的是Android 4.1 – MForcen 2013-05-07 18:18:37
还有一堆关于无JNI_OnLoad的SO线程,这表明它不是容易造成的一个问题。我所能建议的只是检查badlogic论坛。 – 2013-05-07 22:35:57