Я пытаюсь заставить игру изменить волну кротов каждые 0,8 секунды. (Моя игра просто «кроты, для занятий)Slick2D рендеринг каждый 0,8
Мой код для изменения волны:.
double TIME = 0.8;
if (Next) { //If 0.8 seconds is up
if (Over == false) { //make sure the game hasn't ended
start = (int) (cTime/1000); //cTime is the milisecond since game started
String wave = MolesWaves.RandomWave(); //getting the new wave data
initWave(wave);
Next = false; //disallow the game from changing wave
}
}
else {
if (((cTime/1000) - start) >= TIME) { //changing speed
System.out.println("Test: " + ((cTime/1000)-start));
Next = true; //allow game to change waves
}
}
Из System.out.println("Test: " + ((cTime/1000)-start));
, это то, что я получаю от выходного журнала
Test: 0.802
Test: 0.817
Test: 0.833
Test: 0.852
Test: 0.867
Test: 0.883
Test: 0.9
Test: 0.917
Test: 0.933
Test: 0.95
Test: 0.967
Test: 0.983
Test: 1.0
.
Проблема состоит в том, что волны изменяются 13 раз в секунду, они прекращают переключение, когда они достигают каждую секунду, а затем снова запускают ее.
Если значение TIME
равно 1
, ev все в порядке. Волны меняются каждые 1 секунда.
Я использую 0,8, поскольку я пытаюсь реализовать выбор сложности (легкий, средний, жесткий ...) Чем сложнее, тем быстрее изменяется волна.
Является ли код выше виновником моей проблемы? Если это так, пожалуйста, решите это для меня.
Спасибо за объяснение! – junyi00