我正在为uni工作java项目,我们不得不采用另一组代码并使用它。没有使用过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是Label类型)
答案 0 :(得分:0)
您也应该在动作序列中执行最后一次文本更改。
flashMessage.addAction(sequence(delay(time), fadeOut(0.25f), run(new Runnable() {
public void run () {
flashMessage.setText("ASD");
}
})));
Fore reference,您可以关注Scene2d action completion。