gpt4 book ai didi

java - 表格不绘制以下行

转载 作者:行者123 更新时间:2023-12-02 05:11:15 25 4
gpt4 key购买 nike

我尝试用一​​个阶段绘制多个表格,到目前为止它可以处理不同行中的两个表格,但是当我尝试添加第三个或第四个表格时它不起作用。我尝试单独绘制表格,它们可以工作,但不能组合起来,这很有趣,因为它们适用于 2 张 table ......

我尝试单独绘制表格,它们有效,但不能组合使用。

public void setupScreen() {
TextureAtlas menuUi = assetManager.get(Assetdescriptor.backGround);
TextureRegion backGroundRegion = menuUi.findRegion(Regionnames.backGround);

Skin menuSkin = assetManager.get(Assetdescriptor.skinUI);


TextButton team1 = new TextButton("Team 1", menuSkin, "Team1");

TextButton team2 = new TextButton("Team 2", menuSkin, "Team1");

TextButton team3 = new TextButton("Team 3", menuSkin, "Team3");

TextButton team4 = new TextButton("Team 4", menuSkin, "Team4");

TextButton team5 = new TextButton("Team 5", menuSkin, "Team5");


TextButton player1 = new TextButton("Spieler 1", menuSkin);
player1.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
System.out.println("Clicked");
}
});

TextButton player2 = new TextButton("Spieler 2", menuSkin);

TextButton kiPanzer1 = new TextButton("Ki Panzer 1", menuSkin);

TextButton kiPanzer2 = new TextButton("Ki Panzer 2", menuSkin);

TextButton kiPanzer3 = new TextButton("Ki Panzer 3", menuSkin);


Table teamTable1 = new Table();
Table teamTable2 = new Table();
Table teamTable3 = new Table();
Table teamTable4 = new Table();
Table teamTable5 = new Table();



Table TeamOverview = new Table();
Table spieler1= new Table(); // Spieler 1
Table spieler2= new Table(); // Spieler 2
Table Ki3 = new Table(); // Ki Panzer
Table Ki4 = new Table(); // Ki Panzer
Table Ki5 = new Table(); // Ki panzer


spieler1.add(player1);
spieler2.add(player2);
Ki3.add(kiPanzer1);
Ki4.add(kiPanzer2);
Ki5.add(kiPanzer3);


TeamOverview.add(team1, team2, team3, team4, team5);

teamTable1.center();
teamTable1.add(spieler1,spieler2,Ki3,Ki4,Ki5);
teamTable2.center();
teamTable2.add(spieler1,spieler2,Ki3,Ki4,Ki5);
teamTable3.center();
teamTable3.add(spieler1,spieler2,Ki3,Ki4,Ki5);
teamTable4.center();
teamTable4.add(spieler1,spieler2,Ki3,Ki4,Ki5);



Table table = new Table();
table.add(TeamOverview);
table.add(teamTable1).row();
-- -These are the tables which dont work---
table.add(teamTable2).row();
table.add(teamTable3).row();
table.add(teamTable4).row();
-----------------------------------


table.setFillParent(true);
table.setBackground(new TextureRegionDrawable(backGroundRegion));
table.pack();

stage.addActor(table);

}

没有错误信息,但绘图没有变化预期结果是6行,但只有2行。

最佳答案

据我所知,您不允许重复使用同一对象(spieler1、spieler2、Ki3、Ki4、Ki5)。每次将它们添加到不同的表时,都会创建唯一的实例。

检查 com.badlogic.gdx.scenes.scene2d.Group#addActor(表从哪个表扩展)

    public void addActor (Actor actor) {
if (actor.parent != null) {
if (actor.parent == this) return;
actor.parent.removeActor(actor, false);
}
children.add(actor);
actor.setParent(this);
actor.setStage(getStage());
childrenChanged();
}

一个 Actor 只能有一个 parent ,前一个将被删除。您的表可能仍然包含您想要的所有行,它们只是空的。您可以使用 setDebug(true) 来查看绘图“线条”。

编辑
无论如何,这个问题似乎是重复的。引用
How to draw several copies of the same actor on one stage at different positions?

关于java - 表格不绘制以下行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56324558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com