2014-11-03 62 views
0

listen - 我正在嘗試學習libGDX API,因爲我想開發一個小型跨平臺遊戲,主要用於智能手機(Android iOS)。'Android'中的libGDX黑色屏幕,在'Desktop'上正常工作

因此,我開發了一個新的項目,開發人員提供了libGDX特殊設置,我在Eclipse上安裝了Gradle,並且所有事情都很順利,我運行了小型演示版的「桌面」版本, Linux如果這很重要),我甚至在代碼中做了一些修改,並製作了一個非常小的遊戲,效果很好。然後,我想遵循我的主要目標,並開始爲Android開發,所以我運行了一個模擬器,創建了一個全新的乾淨項目,並且我被告知應用程序意外停止,然後我看到要運行Android模擬器中的opengl2我必須檢查'gpu主機'框,所以我這樣做了。

我重新啓動模擬器,跑到我的應用程序和所有我看到的是一個黑色的屏幕,並在目錄下載控制檯我與下一行通知:

E/EGL_emulation(1191):rcCreateWindowSurface返回0

和 -

eglCreateWindowSurface(631):錯誤3x3003(EGL_BAD_ALLOC)

我不知道現在該做什麼,我甚至想在真正的Android設備運行nd我得到了同樣的結果,我怎麼能解決這個問題/錯誤?

編輯:這裏是一些源文件,如果你想知道 -

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

你使用了哪個模擬器?它支持GL 2.0嗎? logcat中是否有異常stacktrace? – donfuxx 2014-11-03 21:56:33

+0

使用真實設備。 – Veljko 2014-11-04 07:37:17

+0

我試過使用真正的設備,並仍然是相同的錯誤+我的模擬器支持GL2.0 – Alfaso 2014-11-04 13:37:35

回答

0

多久你開始你的項目?
也許你還在使用libgdx的一個版本,其中的OpenGL ES 1.x的支持是在這種情況下,你可能需要做這樣的事情在你的Android項目:

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

我得到的最接近的是'config.useGLSurfaceView20API18',我試圖設置它爲true,但我得到同樣的事情。 :我昨天開始了一個全新的項目...... – Alfaso 2014-11-04 13:36:36

+0

啊該死的你是在一個新的版本:)對不起,我沒有隻是評論,但不幸的是我沒有足夠的代表評論。無論如何,我可以推薦你去他們的IRC頻道,這是大多數libgdx社區的地方,他們通常非常有幫助 – Opetion 2014-11-04 13:50:37

0

解決 - 仿真器很可能不支持GL2 .0,我用真正的Android設備使用USB調試,就像一個魅力。