2015-02-24 61 views
1

我正在爲uni開發一個java項目,我們不得不採用另一個組代碼並使用它。沒有使用Libgdx我很困惑。Libgdx排序和延遲

它背後的想法是將文本設置爲某種東西,讓它在少量時間後淡出,然後將文本設置爲其他東西,但是java讀取代碼時顯然會忽略任何延遲,因此它會更改立即文本,而不是等待延遲和褪色。

我很新的Java和我說,我沒有Libgdx的大規模理解,但這裏的代碼反正:

public void displayFlashMessage(String message, Color color, float time) { 
    flashMessage.clearActions(); 
    flashMessage.setText(message); 
    flashMessage.setColor(color); 
    flashMessage.setPosition(TaxeGame.WORLD_WIDTH/2 - flashMessage.getTextBounds().width/2, TaxeGame.WORLD_HEIGHT - 24); 
    flashMessage.addAction(sequence(delay(time), fadeOut(0.25f))); 
    flashMessage.setText("ASD"); 

} 

(我曾用「ASD」爲例串flashmessage是標籤類型的)

回答

0

您應該在動作序列中執行最後一次文本更改。

flashMessage.addAction(sequence(delay(time), fadeOut(0.25f), run(new Runnable() { 
    public void run() { 
     flashMessage.setText("ASD"); 
    } 
}))); 

作爲參考,您可以按照Scene2d action completion