当我使用皮肤时,形状渲染器绘制的形状不显示。使用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);
答案 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
}
空表不应该是个问题。