0
我正在研究需要結束遊戲對話框的遊戲應用程序。 我試圖用幾種方法做,但無法達到工作。JavaFx - 結束對話框不想出現
我的遊戲算法的方法運行在一個單獨的線程上。 完成遊戲後,我嘗試打電話給getChildren().add(endDialog)
(但在GameScene
的班級),但沒有任何發生。如果我在它的構造函數中添加它,而不是在遊戲玩法 - 線程的末尾添加getChildren.get(0).toFront()
,則仍然沒有任何發生。
有什麼建議嗎?
編輯
研究發現,工作的方式,但它並不完美:
setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
if(ended) {
getChildren().add(new EndDialog());
getChildren().get(25).setOpacity(0.7);
}
}
});
唯一的問題是,經過我已經完成演奏,我不得不將我的鼠標多了一個以便對話框出現。
我該如何趕上ended
字段的值?
我[agonist_(https://stackoverflow.com/users/1737321/agonist同意) 以上。儘管沒有提及[任務](http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html)或[服務](http://docs.oracle.com/javafx /2/api/javafx/concurrent/Service.html),但要執行所有線程操作,您應該在JavaFX應用程序中使用其中的一個。 – Aspirant
主要區別在於使用[Service](http://docs.oracle.com/javafx/2/api/javafx/concurrent/Service.html),您可以與JavaFX應用程序線程交談,這是不可能的與[任務](http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html)API。 – Aspirant
謝謝!解決了我的問題:) – Adorjan