私はこの新しいゲームを手に入れました。 短い話ですが、私のGUIにはイベントディスプレーヤーとして機能するテキストエリアがあります。あなたがモンスターと戦うとき、このテキストエリアは "あなたがスケルトンに3点のダメージを与える"か "スケルトンがあなたの上に火球を投げ、5点のダメージを与える"のようなテキスト行を表示するために使用されます。Javafx - テキストエリア内の新しい行の表示を延期するにはどうすればよいですか?
コードは、モンスターがあなたを攻撃するように動作します。だからあなたが "攻撃"ボタンを押すとすぐに、あなたがしたことを言っている行と、その怪物がテキストエリアに同時に現れた行を示す行の両方が表示されます。あなたがそれを命中した直後に、光の速度であなたを襲うモンスターのように。
私がしたいのは、モンスターのラインの表示を遅らせることです。だから私が "Attack"ボタンを押すと、テキストエリアには私がやった行が表示され、次に1秒待ってからモンスターの行が表示されます。
私はThread.sleep()メソッドを使用しようとしましたが、UIを1秒間一時停止してから、両方の行がテキストエリアに表示されます。
private void attackBareFists() {
if (initPJ > enemyINIT) { // Player has more initiative ->
// Player attacks first
turnPlayerBareFists(); // This method will display the player's line
if (!endTurn()) { // endTurn() checks that the player or the monster
// are still alive before continuing the fight
delay();
turnMonster(); // This method will display the monster's line
endTurn();
}
} ... // The code continues, but it's the same as above except monster attacks first
}
/**
* Wait for some time
*/
private void delay(){
}
delay()には何を入れますか?これは私がThread.sleep(1000)を試したところです。そして私が言ったように、turnPlayerBareFists()とturnMonster()のコードがdelay()の後に実行されるようにしました。どんな助けもありがとう。
ありがとう!これは私が欲しかったのとまったく同じでしたどうもありがとうございました! – NZoth