2013-06-19 56 views
0

我加載了一個問題: libgdx無法立即顯示紋理, 紋理可以在塊4S之後顯示。 這裏是我的代碼呈現libgdx無法立即顯示紋理,顯示塊4S之後顯示

SpriteBatch sprite=stage.getSpriteBatch(); 
     sprite.begin(); 
     for(Player p : teamHeros){ 
      p.draw(stage.getSpriteBatch(), Gdx.graphics.getDeltaTime()); 
     } 
     sprite.end(); 

我可以通過按d補充球員,但新加入的玩家無法顯示。 如果我使用Thread.sleep(4000),它可以顯示; 如果我添加一個調試點,並在這裏阻止,它可以顯示; 有人可以告訴我爲什麼嗎? 對不起我的英文不好。

+0

我不明白你的意思是「紋理可以在塊4S後顯示」。 – Jyro117

+0

如何/你在哪裏加載'Player'的紋理? (您是否在某處使用'AssetManager') –

+0

我的意思是紋理將顯示,如果我添加「Thread.sleep(4000);」之前「p.draw(stage.getSpriteBatch(),Gdx.graphics.getDeltaTime());」 。 – user2502027

回答

0

你必須在一個新的線程上編碼,因爲pixmap類需要時間來進行字節轉換,並且有時會返回一個臨時的pixmap,以防進程沒有完成,所以最好在單獨的線程上運行並解決問題。