Предыдущая Следующая
/// <summary>
/// Останавливаем воспроизведение
240 Звуковые эффекты
/// </summary>
public static void Stop(Cue cue) {
cue.Stop(AudioStopOptions.Immediate);
}
В свою очередь, второй метод CuePlay() позволяет воспроизводить файл после его остановки. В параметре этого метода необходимо просто передать название структурной переменной, которая отвечает за один из звуковых файлов.
/// Воспроизведение звука после остановки /// </summary>
public static CuePlay(soundList sound)
{
Cue returnValue = soundbank.GetCue(cueNames[(int)sound]);
returnValue.Play();
return returnValue;
}
Последний и очень важный метод занимается тем, что постоянно обновляет работу звукового движка. Вызов этого метода в дальнейшем должен производиться непосредственно в игровом цикле в методе Update(). Сейчас давайте перейдем к классу Gamel и добавим звуковые эффекты в игру.
/// <summary>
/// Обновляем звук
/// </summary>
public static void Update()
{
engine.Update();
}
13.3. Воспроизведение звука в игре
Посмотрите на исходный код класса Gamel проекта Audio, приведенный в листинге 13.2. Сначала давайте посмотрим исходный код примера, а затем перейдем к его анализу. В некоторых больших методах этого класса исходный код был вырезан, поскольку не изменился с предыдущего проекта. Полный код проекта Audio вы найдете на диске в папке Code\Chapter13\Audio.
//=========================================================================
/// <summary>
/// Листинг 13.2
/// Исходный код к книге:
/// «Программирование игр для приставки Чищч 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Глава 13
/// Проект: Audio
/// Класс: Gamel
/// Звуковые эффекты
Воспроизведение звука в игре 241
/// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace MenuCursor {
public class Gamel : Microsoft.Xna.Framework.Game
{
/// <summary> /// Конструктор /// <summary> public Game1()
{
}
/// <summary> /// Инициализация /// <summary>
protected override void Initialize()
{
Sound.Initialize();
base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary> Предыдущая Следующая
|