簡體   English   中英

“ Android”中的libGDX黑屏,在“桌面”上正常運行

[英]libGDX black screen in 'Android', works fine on 'Desktop'

聽-我想學習libGDX API,因為我想開發一個小型的跨平台游戲,主要用於智能手機(Android iOS)。

因此,我使用開發人員進行的libGDX特殊設置啟動了一個新項目,我在Eclipse上安裝了Gradle,一切都很好,我運行了小型演示的“桌面”版本,並且運行良好(Linux很重要) ),我什至在代碼中做了一些更改,並做了一個非常小的游戲,效果很好。

然后,我想遵循我的主要目標,並開始為Android開發,因此我運行了一個模擬器,創建了一個全新的干凈項目,並被告知該應用程序意外停止,然后我看到它可以在Android模擬器中運行opengl2我必須選中“ gpu主機”框,所以我做到了。

我重新啟動了模擬器,運行了我的應用程序,看到的只是一個黑屏,在目錄日志控制台中,我被告知下一行:

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();
    }
}

您開始項目多長時間了?
也許您仍在使用支持OpenGL ES 1.x的libgdx版本,在這種情況下,您可能需要在Android項目中執行以下操作:

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

解決了-模擬器可能不支持GL2.0,我在真正的Android設備上使用了USB調試功能,運行起來很吸引人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM