libgdx 中的滚动面板 (libktx)

ScrollPanel in libgdx (libktx)

我在其中有一个滚动面板测试 headers。通过调试,我看到面板本身是存在的,但是里面没有显示内容,虽然看起来是这样。也许有人知道这怎么可能?面板本身会根据 table 的大小进行调整,但是 table 本身及其内部的内容并不是 visible。

我找到了问题的根本原因 - 您错误地将演员添加到舞台,导致 WindowScrollPaneStage 成为 null。您必须在 GameManager:

中更改此行
screen.rootStage.actors.add(inventoryWindow.window)

到这一行:

screen.rootStage.addActor(inventoryWindow.window)

虽然您的方法确实将演员添加到 Stage,但他们没有添加到根 Group 并且他们的 Stage 变量未设置,这导致了奇怪的错误,例如这个。总是喜欢使用 public API 方法而不是直接访问 class 变量。

关于查明问题:如果您查看 ScrollPane 呈现代码,您会注意到它仅在 clipBegin returns 为真时才呈现 children。如果你深入挖掘,clipBegin 有这个特殊的检查来阻止 children 被绘制:if (stage == null) return false;。基本上,您不能在没有 Stage.

的情况下使用 ScrollPane