-1
基本的には、各ステップの間に2秒間機能を停止するタイマーが必要です。他のタスクやメソッドを呼びたくない場合は、実行を一時停止するだけです。これを行う最善の方法は何ですか?Javaスイングタイマーを使用して機能を遅らせる
それは、(1ターン毎ターンの結果はJLabelのに出力され、ターンベースの戦闘シーケンスのためです:文字Aは8ダメージの文字Bを打つ待ち時間2秒2を回し:キャラクタBの攻撃は、文字Aをミスは待つ2秒など)
//Battle/////////////////////////
int aDmg = aAttackPower - d.def;
double aHitChance = aHitRate - dAvoidRate;
String sound;
//Turn 1
if (aHitChance >= rngs[rngsIndex]) {
if (aCritRate >= rngs[rngsIndex]) {
aDmg *= 3;
sound="crit.wav";
t.print("Critical Hit! " + a.name + " attacks " + d.name + " for " + aDmg + " damage!");
rngsIndex++;
} else {
sound="hit.wav";
t.print(a.name + " attacks " + d.name + " for " + aDmg + " damage!");
rngsIndex++;
}
d.damageHp(aDmg);
rngsIndex++;
} else {
sound = "miss.wav";
t.print(a.name + " has missed.");
rngsIndex++;
}
playSound(sound);
//Timer 2 seconds <---- Timer would go here
//Turn 2
タイマーが動作する方法ではありません