' Android'中的libGDX黑屏,在桌面'

时间:2014-11-03 19:21:33

标签: java android libgdx emulation

listen - 我正在尝试学习libGDX API,因为我想开发一款小型跨平台游戏,主要用于智能手机(Android iOS)。

所以我用开发人员制作的libGDX特殊设置开始了一个新项目,我在我的Eclipse上安装了Gradle,一切都很好,我运行了小型演示的'桌面'版本,它完美地运行了(Linux如果这很重要的话,我甚至在代码中做了一些改变,做了一个非常小的游戏,结果很好。

然后,我想跟随我的主要目标,开始为Android开发,所以我运行了一个模拟器,创建了一个全新的清洁项目,我被告知应用程序意外停止,然后我看到运行opengl2在Android模拟器中我必须检查'gpu host'框,所以我这样做了。

我重新启动了模拟器,运行了我的应用程序,我看到的只是一个黑屏,在catlog控制台中,我被告知下一行:

E / EGL_emulation(1191):rcCreateWindowSurface返回0

和 -

eglCreateWindowSurface(631):错误3x3003(EGL_BAD_ALLOC)

我现在不知道该怎么做,我甚至尝试在真正的Android设备上运行它,我得到了相同的结果,我怎么能解决这个问题/错误?

编辑:如果你想知道,这里有一些源文件 -

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class FlappyRabbi extends ApplicationAdapter {
    SpriteBatch batch;
    Texture img;

    @Override
    public void create () {
        batch = new SpriteBatch();
        img = new Texture("badlogic.jpg");
    }

     @Override
     public void render () {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        batch.begin();
        batch.draw(img, 0, 0);
        batch.end();
    }
}

2 个答案:

答案 0 :(得分:0)

您启动项目多久了?
也许您仍在使用支持OpenGL ES 1.x的libgdx版本,在这种情况下,您可能需要在Android项目中执行以下操作:

AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useGL20 = true; // important line 
initialize(new YourGame(), config);    

答案 1 :(得分:0)

Solved - 仿真器可能不支持GL2.0,我使用真正的Android设备进行USB调试,就像一个魅力。