LibGdx项目在桌面上运行,但不在Android模拟器上运行

时间:2013-09-17 06:42:15

标签: java android libgdx

我最近开始学习LibGdx我制作了一个闪屏。它在桌面上运行相当不错,但是当我尝试在Android模拟器/模拟器或Android移动设备上运行它不会运行。它仅显示黑屏。请帮帮我。我在此查询中附加了项目链接。

https://docs.google.com/file/d/0B38mBPsRVO3ScU83M1dXblItS00/edit?usp=sharing

我在这里添加代码 Android应用程序

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;

主要LibGdx项目代码

public void show() {
    batch = new SpriteBatch();

    Texture splashTexture = new Texture("image/splash.PNG");
    splash = new Sprite(splashTexture);
    splash.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

}

public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    splash.draw(batch);
    batch.end();
}

简单的启动画面代码。我在网上做过研究,但没有找到任何有用的东西。请帮帮我。

2 个答案:

答案 0 :(得分:1)

由于我不打算下载随机RAR,而你没有发布代码,我将做出有根据的猜测。

可能出现的问题:

  • 您的设备不支持OpenGL ES 2,或者不完全支持。我已经看到设备支持2但仍然需要纹理的两种尺寸(例如Droid 1)。尝试将纹理填充到2的幂。
  • 您甚至没有尝试使用OpenGL ES 2.在您的主要活动中,请确保您有类似以下内容:

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = true;
    

如果您发布源代码并且不要求人们进行下载,您更有可能获得有针对性的答案。

答案 1 :(得分:1)

@Override
public void show() {
 manaer=new AssetManager();
    batch = new SpriteBatch();

    manager.load("Image/splash.PNG",Texture.class);
    manager.finishLoading();
    Texture splashTexture = manager.get("Image/splash.PNG",Texture.class);
    splash = new Sprite(splashTexture);
    splash.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

}

你的资产在绘制之前没有完全加载。所以使用manager.finishloading()你强制代码停止执行直到图像加载