【发布时间】:2014-10-29 15:00:58
【问题描述】:
我使用AssetManager 加载游戏中的所有资源。
我在显示加载进度时遇到问题,或者我尝试在 LoadingScreen 渲染方法中使用此代码仅设置背景颜色。
Gdx.gl.glClearColor(0.431f, 0.792f, 0.808f, 0xff / 255.0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Everiting 加载良好,但是在加载时我得到黑屏,而不是 glClearColor 中设置的颜色。在实现类似this 示例的加载栏时也会发生同样的情况
这里是Assests类的一部分
public class Assets implements Disposable, AssetErrorListener {
public static final Assets instance = new Assets();
.
.
public void init (AssetManager assetManager) {
this.assetManager = assetManager;
// set asset manager error handler
assetManager.setErrorListener(this);
// load texture atlas
assetManager.load(Constants.TEXTURE_ATLAS_OBJECTS, TextureAtlas.class);
.
.
TextureAtlas atlas = assetManager.get(Constants.TEXTURE_ATLAS_OBJECTS);
.
}
.
}
这是我LoadingScreen的简单代码:
@Override
public void show() {
manager = new AssetManager();
Assets.instance.init(manager);
}
public void render(float deltaTime) {
Gdx.gl.glClearColor(0.431f, 0.792f, 0.808f, 0xff / 255.0f);//light blue
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
if (manager.update()) {
ScreenTransition transition = ScreenTransitionFade.init(0.5f);
game.setScreen(new HomeScreen(game), transition);
}
}
在这里,我预计在加载资产时会显示浅蓝色空屏,但我得到了黑屏。
我猜有些代码会阻塞主线程,但我不知道如何解决这个问题。
感谢您的帮助
【问题讨论】:
-
“清理”部分没问题,可能问题出在其他地方。如果您在清洁部分工作后删除代码[您是否有非黑屏? ] ?
-
Assets.instance.init(manager);阻止了我的 UI。如果我在清理部分后删除代码相同(加载时黑屏)。有什么建议吗?