Народный учебник по OpenGL


Nehe21 - часть 47


Если игрок мертв, то мы уменьшаем его количество жизней. Затем мы проверяем, что у игрока еще есть жизни. Это можно сделать сравнением lives с 0. Если lives равно нулю, то мы присваиваем gameover ИСТИНА.

Затем мы сбрасываем наши объекты, вызывая ResetObjects(), и проигрываем звук смерти.

Вывод звука новый материал в этом уроке. Я решил использовать наиболее простую процедуру вывода звука ... PlaySound(). PlaySound() имеет три параметра. В первом параметре мы передаем ей название файла, который мы хотим проиграть. В нашем случае мы хотим, чтобы проиграл звук из файла Die.WAV в каталоге Data. Второй параметр можно проигнорировать. Мы установим его в NULL. Третий параметр – флаг для проигрывания звука. Два наиболее часто используемых типа флага: SND_SYNC, который приостанавливает выполнение программы пока звук не проиграет, и SND_ASYNC, который запускает проигрывание звука, но не останавливает программу. Мы хотим иметь небольшую задержку после того, как игрок умер, поэтому мы используем SND_SYNC. Довольно просто!

Я забыл рассказать об одной вещи в начале программы: для того чтобы PlaySound() и таймер работали, Вы должны подключить файл winmm.lib в проект (в Visual C++ это делается в PROJECT / SETTINGS / LINK). winmm.lib – мультимедийная библиотека Windows. Если Вы не включите эту библиотеку, Вы получите сообщения об ошибках, когда Вы пробуете откомпилировать программу.

          // Кто-нибудь из противников сверху игрока?

          if ((enemy[loop1].fx==player.fx) && (enemy[loop1].fy==player.fy))

          {

            lives--;            // Уменьшим жизни

            if (lives==0)       // Нет больше жизней?

            {




- Начало -  - Назад -  - Вперед -