java - 如何使 Scene2d 窗口适合其内容? (Libgdx)

标签 java libgdx scene2d

一切都在标题上,我尝试逐步按照 Nathan Sweet(Libgdx 主要贡献者)提供的示例在 Scene2d 中创建一个窗口,但我得到了意想不到的结果:

enter image description here

就像您可以看到文本从窗口中消失一样,这是我的窗口代码:

Window window = new Window("The new Window commIng up", skin_deff);
               window.setPosition(400, 200);    
               window.pack();


        // putting  stuff together

                table.debug();
                table.add(heading).colspan(3).expandX().spaceBottom(50).row();;
                table.add(scrollPane).uniformX().expandY().top().left();
                table.add(window).padLeft(30);
                // table.add(play).uniformX();
                table.add(back).uniformX().bottom().right().padLeft(550);
                stage.addActor(table);

这是我试图效仿的 Nathan Sweet 的例子:

enter image description here

代码:

label.setPosition(100, 200);
        stage.addActor(label);

        Window window = new Window("[RED]Multicolor Bla Bla Bla[GREEN] Title", skin);
        window.setPosition(400, 200);
        window.pack();
        stage.addActor(window);

最佳答案

我找到了解决方案,问题出在我的表格布局中:

                table.debug();

                table.add(heading).colspan(3).expandX().spaceBottom(50).row();
                table.add(scrollPane).uniformX().expandY().top().left();
                table.add(window).top();
                // table.add(play).uniformX();
                table.add(back).uniformX().bottom().right();

                stage.addActor(table);

而不是

            table.debug();
            table.add(heading).colspan(3).expandX().spaceBottom(50).row();;
            table.add(scrollPane).uniformX().expandY().top().left();
            table.add(window).padLeft(30);
            // table.add(play).uniformX();
            table.add(back).uniformX().bottom().right().padLeft(550);
            stage.addActor(table);

应用于窗口padLeft和后退按钮强制文本与窗口重叠。

现在结果看起来好多了:) :

enter image description here

关于java - 如何使 Scene2d 窗口适合其内容? (Libgdx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30045969/

相关文章:

java - 字符串是第二个的子串?

java - LibGdx - 在一个 TextButton 中使用两种样式

java - Libgdx 视口(viewport)不拉伸(stretch)

java - scene2d ui - 如何制作网格/表格?

java - 如果启动画面打开时中断,游戏会崩溃 - LIBGDX

java - LibGDX:在单独的类中创建 GestureListener

java - 将双维数组的最低有效位替换为单维数组的其他位

libGDX InputListener、InputProcessor、InputAdapter有什么区别

java - Scene2D Actor 在本应不可见的情况下在屏幕上闪烁 1 帧

java - 是否可以读取可能同时写入的变量?