LibGDX: Android SpriteBatch not drawing

匿名 (未验证) 提交于 2019-12-03 01:05:01

问题:

I'm having a hard time getting a spriteBatch to render in LibGDX. It shows when I run it for the desktop, but not on Android. I sprite I'm trying to render is the star background.

Desktop: http://i.stack.imgur.com/6a4m5.png

Android: http://i.stack.imgur.com/mOvo2.png

Here's my code:

@Override public void render(float delta) {     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);     Gdx.gl.glClearColor(0, 0, 0, 1);      update(delta);      spriteBatchBack.begin();     sprite.draw(spriteBatchBack);     spriteBatchBack.end();      stage.act(delta);     stage.draw(); }  public void update(float delta) {     scrollTimer += delta * 0.03f;     if (scrollTimer > 1.0f)         scrollTimer = 0.0f;      sprite.setU(scrollTimer);     sprite.setU2(scrollTimer + 1); }  int width = Gdx.graphics.getWidth(); int height = Gdx.graphics.getHeight();  @Override public void resize(int width, int height) {     if (stage == null) {         stage = new Stage(width, height, true);         stage.clear();         addMusic();         addBackground();         addScence();         stage.addActor(play);         stage.addActor(options);         stage.addActor(quit);         stage.addActor(logoHead);         stage.addActor(lblPlay);         stage.addActor(lblOptions);         stage.addActor(lblQuit);     }     Gdx.input.setInputProcessor(stage); }  public void addBackground() {     spriteBatchBack = new SpriteBatch();     Texture spriteTexture = new Texture(             Gdx.files.internal("pictures/menuBackground.png"));      spriteTexture.setWrap(TextureWrap.Repeat, TextureWrap.Repeat);     sprite = new Sprite(spriteTexture, 0, 0, spriteTexture.getWidth(), spriteTexture.getHeight());     sprite.setSize(width, height); } 

If there's anything important that I am leaving out, comment and let me know. Thanks!

回答1:

I found my problem. It turned out to be simply that the phones I used didn't support Open GL 2.0. To fix this I re-sized all my textures to the power-of-two, and changed the configuration settings to Open GL 1.1.



回答2:

try to use "Image" actor as background in stage instead of using spritebatch and drawing yourself.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!