Предыдущая Следующая
}
base.Draw(gameTime);
}
У нас в игре имеются два звуковых файла, которые определены для событий, связанных со столкновением платформы и объектов, а также падением объектов в пропасть. Соответственно и вызовы метода Sound.PlayCue() происходят в методах, обрабатывающих столкновения с платформой и окончанием экрана. Здесь все просто.
Придерживаясь в дальнейшем аналогичной схемы работы со звуковыми данными, можно добавить в игру любое количество звуковых эффектов или больших звуковых дорожек. Техника воспроизведения всех звуковых файлов, а также создания проектов XACT одинакова.
13.4. Цикличное воспроизведение музыки
В своих играх вам обязательно захочется воспроизводить одну или более мелодий в цикличном режиме. В XNA Game Studio Express такая возможность, несомненно, имеется. При этом цикличное воспроизведение одного из файлов задается еще на этапе формирования проекта XACT. Посмотрите на рис. 13.7, где представлен этап добавления в проект XACT новых звуковых файлов. Так вот если в окне Sound Bank выделить курсором название файла, а затем в правой части этого окна выделить ветку структуры древовидной иерархии с названием Play Wave (рис. 13.10), то в левой части главного окна программы Microsoft Cross-Platform Audio Creation Tool откроется дополнительная панель со свойствами выбранного звукового файла.
В перечислениях свойств файла имеется параметр LoopEvent. В данный момент значение этого параметра выставлено в No, что означает: цикличное воспроизведение для этого файла не задано (рис. 13.11). Для того чтобы установить цикличность для этого параметра, достаточно выбрать из списка значение Infinite и продолжать работу с проектом по рассмотренной в этой главе схеме. Затем, когда вы запустите проект, то для того файла, для которого назначили цикличное проигрывание, программа автоматически выберет заданный режим воспроизведения.
Первым делом в классе Game1 необходимо воспользоваться методом Sound.Initialize() и создать объекты AudioEngine, SoundBank и WaveBank.
protected override void Initialize()
{
Sound.Initialize(); base.Initialize();
Затем мы переходим к игровому циклу и вызываем в нем метод Sound.Update(). Этот метод, как вы помните, обновляет работу звукового движка. На этом все подготовительные действия выполнены, и можно заняться воспроизведением звука в игре или использовать любые другие методы класса Sound.
Рис. 13.11. Панель свойств звукового файла
Переход с уровня на уровень 215 Предыдущая Следующая
|