Я новичок в программировании, и я начал создавать игру в C++, где игрок исчезает с экрана (он умирает), когда рок бьет его.
Что я могу сделать, чтобы вернуть плеер на экран через 2 секунды?
У меня есть количество жизней (LifeNb) - функция, которая удаляет игрока с экрана (removePlayer) и функцию, которая добавляет плеер на экран (addPlayer). Как я могу это сделать?
int time = std::clock()/1000;
if(the rock hit) {
number of lives --;
remove player;
if(time == 2)
add player;
}
Это что-то вроде этого?
Функция sleep() задерживается на указанное количество секунд перед продолжением выполнения. Кажется, это то, что вы ищете.
См. Здесь: http://pubs.opengroup.org/onlinepubs/009604599/functions/sleep.html
Один из способов сделать это: когда ваш игрок умрет, сохраните текущее время (плюс две секунды) переменной. На каждой итерации цикла игрового события проверьте, превышает ли текущее время время или переменную в переменной. Если это так, восстановите плеер и установите значение переменной (очень большое значение, которое часы никогда не достигнут).
clock_t timer = clock();
if ((clock()/CLOCKS_PER_SEC)-(timer/CLOCKS_PER_SEC) >= 2)
player.add();
Однако, если вы просто хотите подождать две секунды, вы также можете использовать функцию системной библиотеки sleep()
течение двух секунд.
sleep(2);