LibGDX:更改组内部的组件,在表格内部,导致Android上的黑色方块

时间:2016-09-04 02:52:57

标签: android libgdx scene2d

我有一个包含一排Powerup的桌子,另一个按钮用于观察和赚取'免费加电。

每个Powerup扩展Group并包含一个ImageButton和一些其他组件。

点击Watch and Earn按钮时,播放器会被发送到视频广告,并在返回时随机选择上电。

我的代码重新布置了Powerup Group以显示随机选择了哪一个(ImageButton被重新创建并以新的背景和图标重新读取),并删除了其他不必要的组件。 / p>

在桌面版本上,这没有任何问题。但是当我在我的Android设备上运行游戏时,选中的Powerup组变黑了。

广告前: Before Ad

广告之后: After Ad

我尝试在桌面上调用invalidateinvalidateHierarchy,在外setActor调用Cell

请注意,我确实需要使表无效,因为Powerup Group的大小会发生变化,因此我需要将表重新布局。

1 个答案:

答案 0 :(得分:0)

我通过预加载所有状态并切换到它来解决它。

对于任何感兴趣的人,黑色方块与AssetManager和“黑/缺”资产相关。我正在使用AssetManager,并且我遵循上面documentation中给出的建议,并使用Texture.setAssetManager()将AssetManager替换为新的,但是,这并没有解决问题。

我知道当活动切换到广告时,OpenGL上下文会丢失,但是如果在展示广告之前没有预先加载资产,新的AssetManager似乎仍然没有加载资产。