首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆栈上的Scene2d定位元件

堆栈上的Scene2d定位元件
EN

Stack Overflow用户
提问于 2021-08-27 08:57:44
回答 1查看 32关注 0票数 0

这是当前状态:图像

但我还想做两件事:

  1. 将堆栈移动到屏幕的左上角
  2. 在图像中,我把羊皮纸分成两部分,我想在上面的部分加上2个标签,在下部放置2-3个文本按钮。

相关码

代码语言:javascript
复制
Table table = new Table();
table.center();
table.setFillParent(true);

Stack stack = new Stack();

titleLabel.setFontScale(0.5f);
label1.setFontScale(0.5f);
textButton.getLabel().setFontScale(0.5f);
textButton2.getLabel().setFontScale(0.5f);

parchment.setScaling(Scaling.fill);
stack.add(parchment);

Table overlay = new Table();
overlay.add(titleLabel).expand();
overlay.row();
overlay.add(label1).expand();
overlay.row();
overlay.add(textButton).expand();
overlay.row();
overlay.add(textButton2).expand();

stack.add(overlay);

table.add(stack).top().left();

stage.addActor(table);
EN

回答 1

Stack Overflow用户

发布于 2022-01-30 00:36:28

在这种情况下,要做的第一件事是对您拥有的任何表设置调试--然后您将能够看到显示表的大小和表中的单元格大小的边界线。只需这样做:

代码语言:javascript
复制
table.setDebug(true);

  1. 将堆栈移动到屏幕的左上角

使用调试集,我可以看到您的堆栈没有填充整个表或整个屏幕。堆栈的增长只是为了适应它们的内容,它们不会自动填充容器,因此要填充屏幕,在表中的堆栈单元格中添加“展开()”,如下所示:

代码语言:javascript
复制
table.add(stack).expand().top().left();

  1. 在图像中,我把羊皮纸分成两部分,我想在上面的部分加上2个标签,在下部放置2-3个文本按钮。

你可以用两种方法之一来做这件事。您可以为每个组创建一个表,如果每个组中有很多项,这将是一个很好的方法。或者,如果只有几个项,您可以添加“展开()”来强制中间的项向上/向下推送其他项,如下所示:

代码语言:javascript
复制
        Table table = new Table();
//        table.setDebug(true);
        table.setFillParent(true);

        Stack stack = new Stack();

        titleLabel.setFontScale(0.5f);
        label1.setFontScale(0.5f);
        textButton.getLabel().setFontScale(0.5f);
        textButton2.getLabel().setFontScale(0.5f);

        parchment.setScaling(Scaling.fill);
        stack.add(parchment);

        Table overlay = new Table();
//        overlay.setDebug(true);
        overlay.add(titleLabel).top();
        overlay.row();
        overlay.add(label1).expand().top();
        overlay.row();
        overlay.add(textButton).expand().bottom();
        overlay.row();
        overlay.add(textButton2).bottom();

        stack.add(overlay);

        table.add(stack).expand().top().left();

        stage.addActor(table);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68950671

复制
相关文章

相似问题

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