我正在尝试为我的游戏制作一个库存,为此我需要制作一个网格 我试图用表格完成这个 -
table = new Table();
table.setFillParent(true);
stage.addActor(table);
我应该从哪里开始? 我希望我的网格/库存看起来与此类似 -
答案 0 :(得分:3)
我认为最好的方法是创建Actors数组(你可以决定你想要一个Image按钮等类型的actor),然后循环遍历数组并将actor添加到表中。
您可以在运行时计算演员的宽度和高度,例如,您想要填满整个屏幕,并且您知道水平和垂直方向需要多少个按钮,然后:
int actorWidth = Gdx.graphics.getWidth() / rowActors;
int actorHeight = Gdx.graphics.getHeight() / columnActors;
Actor[] actors = new Actor[rowActors * columnActors];
现在用你想要的任何类型的Actor(图像,按钮等)填充数组,并遍历数组并将其添加到表中,如下所示:
for (int i = 0; i < rowActors; i++){
for (int j = 0; j < columnActors; j++){
Actor actor = actors[(i * columnActors) + j];
table.add(actor).width(actorWidth).height(actorHeight);
}
table.row();
}
这应该创建一个占据整个屏幕的演员网格。
答案 1 :(得分:0)
这是一个很好的起点,https://github.com/EsotericSoftware/tablelayout。此外,如果您主要使用屏幕区域/像素,您可能需要将场景坐标设置为像素(或者如果要自动缩放,则将像素固定为像素),在调整大小方法(缩放1: 1):
@Override public void resize(int width, int height) {
...
stage.setViewport(width, height,
false, 0, 0, width, height);
}