2016-04-26 23 views
5

Mi sono chiesto come creare una schermata di caricamento. Se utilizzoCome ottenere una "schermata di caricamento" usando libgdx?

while (!manager.update()) 

il gioco non verrà mai visualizzato. Poi ho avuto l'idea di chiamare manualmente il metodo di rendering nel ciclo while. Come:

while (!manager.update()) 
    render(); 

probabilmente funzionerebbe. Quindi potrei anche creare un altro thread e renderizzare oltre a questo thread? Qual è la soluzione migliore?

risposta

4

Si dovrebbe dare un'occhiata al this wiki page, il metodo di rendering dovrebbe essere qualcosa di simile:

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

una soluzione molto semplice è quello di disegnare su e non renda. Consentitemi di elaborare, interromperete il rendering del gioco, renderete una schermata di caricamento mentre sta caricando, quindi diamo circa 2 secondi per rendere il nuovo schermo in questo modo:

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; 
Problemi correlati