2013-07-05 81 views

回答

5

那麼它會顯示一個空白屏幕。 爲了解決這個問題,您可以在加載資源時進行渲染,並且在加載完成後切換到菜單屏幕。

import com.badlogic.gdx.Gdx; 
import com.badlogic.gdx.assets.AssetManager; 
import com.badlogic.gdx.graphics.GL10; 
import com.badlogic.gdx.graphics.GLCommon; 
import com.badlogic.gdx.graphics.OrthographicCamera; 
import com.badlogic.gdx.graphics.Texture; 
import com.badlogic.gdx.graphics.g2d.SpriteBatch; 
import com.badlogic.gdx.graphics.g2d.TextureAtlas; 
import com.shooter.waste.of.a.game.Assets; 
import com.shooter.waste.of.a.game.utils.Game; 
import com.shooter.waste.of.a.game.utils.Screen; 

public class LoadingScreen extends Screen{ 


public AssetManager manager; 
SpriteBatch batcher; 
Game game; 
OrthographicCamera cam; 
TextureAtlas load; 
float stateTime; 
AtlasSprite bg; 
public LoadingScreen(Game game,SpriteBatch batcher) { 
    super(game); 
    this.batcher = batcher; 
    this.game = game; 
    manager = new AssetManager(); 
    manager.load("data/shoot",TextureAtlas.class); 
    manager.load("data/b.jpg",Texture.class); 

    cam = new OrthographicCamera(480, 800); 
    cam.position.set(480/2, 800/2,0); 
      load = new TextureAtlas("data/load"); 
      bg = new AtlasSprite(load.findRegion("loadingscrnbg")); 




    } 

    @Override 
    public void render(float deltaTime) 
    { 
     update(deltaTime); 
    GLCommon gl = Gdx.gl; 
    gl.glClearColor(0, 0, 1f, 0.1f); 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
    cam.update(); 
    batcher.setProjectionMatrix(cam.combined); 
    batcher.begin(); 
      batcher.draw(bg, 0, 0); 

    batcher.enableBlending(); 
    batcher.end(); 



} 

@Override 
public void pause() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void resume() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void dispose() { 
    // TODO Auto-generated method stub 

} 

@Override 
public void update(float deltaTime) 
{ 
    if(manager.update()) \\ gives true when all assets are loaded 
    { 
     Assets.load(manager); 
     game.setScreen(new GameScreen(game, batcher)); 
    } 
} 

@Override 
public void backKeyPressed() { 
    // TODO Auto-generated method stub 

} 


} 

一個重要的事情是,它仍然會顯示空白屏幕,其中U希望在加載過程中呈現,試圖渲染只有在所有的幾件事情,並沒有任何聲音的精靈。

希望這可以幫助你。

+0

酷。它解決了我的問題。非常感謝你的兄弟...... :) –

0

所有你能做的就是你可以在你的遊戲開始時添加一個loadng屏幕,並且可以播放一些音樂。

這樣用戶就會知道,這個遊戲加載

.. 負荷在此屏幕上所有的租入資產價值,並顯示一個進度巴爾...