【发布时间】:2017-08-08 14:59:53
【问题描述】:
基本上,我只想要一个计时器,在每一步之间“停止”一个功能 2 秒。我不希望它调用任何其他任务/方法,我只是希望它暂停执行。这样做的最佳方法是什么?
这是一个基于回合的战斗序列,每个回合的结果都会输出到 JLabel(第 1 回合:角色 A 对角色 B 造成 8 点伤害。等待 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
【问题讨论】: