首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用一个阶段绘制多个表

使用一个阶段绘制多个表
EN

Stack Overflow用户
提问于 2019-05-27 01:23:43
回答 1查看 105关注 0票数 2

一个问题,目前我在一个团队大小的选择屏幕上工作,到目前为止,我已经完成了团队一的复选框。现在,我想要绘制另一个具有相同阶段的表,我不想为了节省资源而绘制新的阶段。那么我的问题是,有没有可能画出一个舞台相邻的多表呢?这就是我目前尝试的方法,但它不起作用。

所以我试着给构造器提供第二个Table,类似于:

代码语言:javascript
复制
stage.addActor(table,table2)

但这并不管用。

我的第二次尝试是这样的

代码语言:javascript
复制
stage.addActor(table);
stage.addActor(table2);

这也不起作用。

代码语言:javascript
复制
public class TeamSelectScreen implements Screen {

    public SEPGame game;
    public SpriteBatch menuBatch;
    public AssetManager assetManager;
    public Viewport viewport;
    public Stage stage;
    public MenuScreen menuScreen;
    public ButtonGroup<CheckBox> teamSelect;
    public CheckBox Tank1;
    public CheckBox Tank2;
    public CheckBox Tank3;
    public CheckBox Tank4;
    public CheckBox Tank5;


    public TeamSelectScreen(SEPGame game) {
        game = new SEPGame();
        menuBatch = new SpriteBatch();
        assetManager = new AssetManager();
        viewport = new FitViewport(SEPGame.WORLD_PIXEL_WIDTH, SEPGame.WORLD_PIXEL_HEIGHT);
        menuScreen = new MenuScreen(game);
        menuScreen.dispose();

        stage = new Stage(viewport, menuBatch);

        Gdx.input.setInputProcessor(stage);
        assetManager.load(Assetdescriptor.backGround);
        assetManager.load(Assetdescriptor.buttonNotePressed);
        assetManager.load(Assetdescriptor.buttonPressed);
        assetManager.load(Assetdescriptor.skinUI);
        assetManager.finishLoading();

    }


    public void setupScreen() {
        TextureAtlas menuUi = assetManager.get(Assetdescriptor.backGround);
        Skin uiSkin = assetManager.get(Assetdescriptor.skinUI);
        TextureRegion backGroundRegion = menuUi.findRegion(Regionnames.backGround);
        Table table = new Table();
        Table table2 = new Table();
        Label title = new Label("Team Auswahl", uiSkin);


        Tank1 = new CheckBox("Tank 1 Player", uiSkin);
        Tank2 = new CheckBox("Tank 2 Player", uiSkin);
        Tank3 = new CheckBox("Tank 3 Ki", uiSkin);
        Tank4 = new CheckBox("Tank 4 Ki", uiSkin);
        Tank5 = new CheckBox("Tank 5 Ki", uiSkin);


        ChangeListener teamSizeChanger = new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, Actor actor) {

            }
        };

        Tank1.addListener(teamSizeChanger);
        Tank2.addListener(teamSizeChanger);
        Tank3.addListener(teamSizeChanger);
        Tank4.addListener(teamSizeChanger);
        Tank5.addListener(teamSizeChanger);


        Table checkTable = new Table();
        checkTable.defaults().pad(5);
        checkTable.add(Tank1).row();
        checkTable.add(Tank2).row();
        checkTable.add(Tank3).row();
        checkTable.add(Tank4).row();
        checkTable.add(Tank5).row();

        Table checkTable2 = new Table();
        Table checkTable3 = new Table();
        Table checkTable4 = new Table();
        Table checkTable5 = new Table();


        // Team 1
        table.add(checkTable);
        table.padRight(1200);
        table.setFillParent(true);
        table.pack();
        table.setBackground(new TextureRegionDrawable(backGroundRegion));

        // Team 2
        table2.add(checkTable2);
        table2.padRight(1000);
        table.setFillParent(true);
        table.pack();


        // Add 2 Tables?
        stage.addActor(table);
        stage.addActor(table2);


    }


    @Override
    public void show() {

    }


    @Override
    public void render(float delta) {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        menuScreen.dispose();
        setupScreen();
        stage.draw();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-27 03:56:32

您调用了两次table.setFillParent(true),但从未调用过table2.setFillParent(true)

另一种选择是将带有fill parent的Stack添加到舞台,然后将这两个表添加到堆栈:

代码语言:javascript
复制
Stack stack = Stack(table, table2)
stack.setFillParent(true)
stage.addActor(stack)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56315822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档