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

bda5893f

Определение класса звукового фрагмента


Я создал класс GameSound потому, что вам требуется только один объект исполнителя и один объект загрузчика, но несколько сегментов. Данный класс содержит реальные данные звукового сегмента для отдельного звукового фрагмента. Этот класс ни что иное, как простое хранилище звуковой информации. Вот как выглядит заголовок класса:

class GameSound { public: IDirectMusicSegment8 *m_pSound; IDirectMusicPerformance8 *m_pPerformance; ~GameSound(); GameSound(); };

Не беспокойтесь по поводу указателя m_pPerformance. Он всего лишь указывает на интерфейс исполнителя в классе звуковой системы. Реально используется только один член данных, m_pSound, в котором сразу после загрузки сохраняются звуковые данные.

Взаимосвязь двух классов показана на рис.7.9.


Рис. 7.9. Взаимодействие класса звуковой системы и класса звукового фрагмента

Обратите внимание, что интерфейс загрузчика в классе звуковой системы используется для загрузки данных в интерфейс сегмента в классе звукового фрагмента. Кроме того, вы можете заметить, что интерфейс исполнителя совместно используют оба класса.



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