使用外观时ShapeRenderer不呈现

时间:2013-05-28 06:45:14

标签: libgdx

当我使用皮肤时,形状渲染器绘制的形状不显示。使用ShapeRenderer的实例在actor内部绘制形状。我认为这是由皮肤引起的,因为我尝试添加一个空表并且形状显示,但如果我添加一个皮肤实例,则形状不会显示。

此代码来自github中的libgdx测试:

Skin skin = new Skin(Gdx.files.internal("data/uiskin.json"));

Label nameLabel = new Label("Name:", skin);

Table t1 = new Table();
t1.setFillParent(true);
t1.add(nameLabel);
stage.addActor(t1);

1 个答案:

答案 0 :(得分:2)

您需要.end() SpriteBatch之后ShapeRender.begin()使用ShapeRender.end()之后需要在您的演员中调用SpriteBatch.begin()。另外,你有2个连续批次。

actor.draw(SpriteBatch batch, float delta){
   batch.end();
   ShapeRender.begin(Some Typee);//start it with your shapetype
   //drawing stuff with the shaperender
   ShapeRender.end();//dont forget to end it
   batch.begin(); //need to be started again for the next actors to be dawn
}

空表不应该是个问题。