2013-02-25 20 views

回答

4

我不確定你想要在這裏做什麼。你可能只是有一個標誌在你的渲染循環

Texture texture; 
long lastFlip = 0; 
long flipTime = 1000; 
boolean display = false; 

//..In your rendering loop 
if(lastFlip+flipTime > System.currentTimeMillis()){ 
    display = !display; 
    lastFlip = System.currentTimeMillis(); 
} 
if(display){ 
     spriteBatch.draw(texture,0,0); 
} 

如果你想使用內置的動作系統scene2d在下面的教程有。 Tutorial。這個博客非常好,可以幫助您瞭解如何使用大量scene2d功能。由於對scene2d所做的更改可能會有點不合適,但它會給你提供你需要的想法。

0

我相信你現在得到了解決方案,而不是使用系統特定的時間,你應該使用已經在渲染方法中使用的Gdx圖形增量時間。然後將其與您想要顯示紋理的時間量進行比較。

0

您應該使用libGDX wrapper函數來讀取時間以避免在不同平臺上最終出現不兼容問題。但是代碼它自己可以很簡單:

if (TimeUtils.millis()%(SHOW_TIME+HIDE_TIME) < SHOW_TIME){ 
// render it 
} 

哪裏SHOW_TIME是毫秒數你希望你的紋理顯示和HIDE_TIME是你想要隱藏的毫秒數。不需要額外的變量並使其變得比這更復雜。