Libgdx:阶段正在搞乱批处理

时间:2014-02-24 18:04:21

标签: java eclipse libgdx sprite spritebatch

我的代码有问题,在我开始使用步骤绘制我的UI之后出现,我有三个用Batch绘制的东西,一个舞台有2个按钮由Stage绘制,但只有2个我的&# 34;精灵"正在被吸引。这是代码:

public void render(float delta) {
    Gdx.gl.glClearColor(0.95F, 0.95F, 0.95F, 0.95F);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    deltaTime = Gdx.graphics.getDeltaTime();

    camera.update();
    generalUpdate(touch, camera, deltaTime, pointer);
    bounce(deltaTime);

    stage.setCamera(camera);
    batch.setProjectionMatrix(camera.combined);

    batch.begin();
        batch.draw(Assets.spr_bg, 0, 0);
        batch.draw(Assets.spr_title, 540-Assets.spr_title.getWidth()/2, titleY-Assets.spr_title.getHeight()/2);
        Assets.font_small.draw(batch, "some text", 540-Assets.font_small.getBounds("(c)2014 HateStone Games").width/2, 1920-64-Assets.font_small.getBounds("(c) HateStone Games").height/2);
        stage.draw();
    batch.end();
}

这是文字"有些文字"它没有被绘制出来,如果我把它评论出来,它就会变得疯狂,标题精灵也不会被绘制出来,并且会随机出现一个灰色框。

如果我移动" stage.draw();"批次之外它没有被绘制

1 个答案:

答案 0 :(得分:5)

Stage有自己的SpriteBatch,它可以绘制所有内容。因此,begin() SpriteBatch而另一个SpriteBatch正在绘制。所以在致电batch.end()之前请致电stage.draw()。这应该可以解决你的问题。