我想绘制图形(数学函数)之类的东西,并希望将其作为单元格插入表格中。 我尝试将shaperenderer插入表中,但它无效。 我怎么能这样做?谢谢!
我尝试使用类似的东西:
Table table = new Table();
ShapeRenderer shapeRen = new ShapeRenderer();
shapeRen.begin(ShapeType.Filled);
shapeRen.setColor(1,1,1,1);
shapeRen.rect(0,0,50,50);
shapeRen.end();
table.add(shapeRen);
我知道,这是不对的。 =) 你能帮我做点什么吗?
答案 0 :(得分:1)
你不能将一个shapeRenderer添加到一个表中,因为它不是一个actor,但如果你真的想在一个表中使用它,我想你可以做类似下面的事情。
public class MyGdxGame extends ApplicationAdapter {
Table table;
ShapeRenderer shapeRen;
Stage stage;
@Override
public void create () {
stage = new Stage();
table = new Table();
table.setDebug(true);
table.row().pad(20).size(200, 50);
table.add();
table.row().pad(20).size(200, 50);
table.add();
table.setPosition(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2);
stage.addActor(table);
shapeRen = new ShapeRenderer();
}
@Override
public void render () {
stage.draw();
drawShapes();
}
public void drawShapes() {
shapeRen.begin(ShapeRenderer.ShapeType.Filled);
shapeRen.setColor(1,1,1,1);
shapeRen.rect(table.getX() - table.getPrefWidth()/2 + table.getCells().get(0).getPadLeft(),table.getY() + table.getPrefHeight()/2 - table.getCells().get(0).getPrefHeight() - table.getCells().get(0).getPadTop(),50,50);
shapeRen.end();
}
}
输出如下所示: