Программирование стратегических игр с DirectX 9.0

         

Воспроизведение звуковых фрагментов


Вернемся к циклу обработки сообщений Windows. В нем находится код, ожидающий пока не будет нажата левая или правая кнопки мыши. Как только произойдет одно из указанных событий, будет воспроизведен соответствующий звук. Вот как выглядит код:

switch(msg) { case WM_LBUTTONDOWN: // Воспроизведение звука g_SoundSys.hrPlaySound(g_sndButtonOver); break; case WM_RBUTTONDOWN: // Воспроизведение другого звука g_SoundSys.hrPlaySound(g_sndButton); break; case WM_DESTROY: PostQuitMessage(0); return 0; default: break; } return DefWindowProc(hWnd, msg, wParam, lParam);

В блоке логики оператора switch видно, как система реагирует на события кнопок мыши вызывая функцию класса звуковой системы hrPlaySound(). Если нажата левая кнопка мыши, воспроизводится звук из объекта g_sndButtonOver. Если нажата правая кнопка мыши, воспроизводится звук из объекта g_sndButton.

ПРИМЕЧАНИЕ Сообщения WM_LBUTTONDOWN и WM_RBUTTONDOWN являются частью системы событий Microsoft Windows. Существуют сотни различных событий и для получения более подробной информации о них я рекомендую обратиться к документации Visual C++.

На Рисунок 7.12 показан ход выполнения программы с момента запуска до завершения.



Содержание раздела