我一直想知道如何创建加载屏幕。如果我使用
while (!manager.update())
游戏永远不会渲染。然后我知道我是否会在while循环中手动调用render方法。像:
while (!manager.update())
render();
它可能会奏效。然后我还可以创建另一个线程并在此线程之外渲染?什么是最好的解决方案?
答案 0 :(得分:4)
你真的应该看看this wiki page,你的渲染方法应该是这样的:
public void render() {
if(manager.update()) {
// we are done loading, let's move to another screen!
}
// display loading information
float progress = manager.getProgress()
... left to the reader ...
}
答案 1 :(得分:1)
一个非常简单的解决方案是绘制而不是渲染。让我详细说明,你将停止渲染游戏,在加载时渲染一个加载屏幕,然后给它大约2秒钟来渲染新屏幕:
if(renderingGame){
//render all your stuff
if(loading){
renderingGame = false;
}else if(loading){
renderLoadingScreen();
}else(!loading){
elapsedTime += Gdx.graphics.getDelta();
}
if(elapsedTime > 3)
renderingGame = true;