Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

private static string[] cueNames = new string[]

"platform", "boom",

};

/// <summary>

/// Воспроизведение звука после остановки /// </summary>

public static CuePlay(soundList sound)

{

Cue returnValue = soundbank.GetCue(cueNames[(int)sound]);

returnValue.Play();

return returnValue;

}

/// <summary>

/// Воспроизведение

/// </summary>

public static void PlayCue(soundList sound)

{

soundbank.PlayCue(cueNames[(int)sound]);

}

/// <summary>

/// Обновляем звук

/// </summary>

public static void Update()

{ }

engine.Update();

/// <summary>

/// Останавливаем воспроизведение /// </summary>

public static void Stop(Cue cue)

204 Звуковые эффекты

Класс Sound 205

{

cue.Stop(AudioStopOptions.Immediate);

}

} }

Ключевыми фигурами в звуковых проектах, основанных на использовании XACT, являются три класса: AudioEngine, SoundBank и WaveBank. Объявление и создание объектов этих классов, а также загрузка звука в игру всегда происходят в одном и том же ключе. Посмотрите на нижеприведенные строки исходного кода.

private static AudioEngine engine; private static SoundBank soundbank; private static WaveBank wavebank;

public static void Initialize()

{

engine = new AudioEngine("Content\\Sound\\Sound.xgs");

soundbank = new SoundBank(engine, "Content\\Sound\\Sound Bank.xsb");

wavebank = new WaveBank(engine, "Content\\Sound\\Wave Bank.xwb");

}

В трех первых строках этого блока кода происходит объявление трех объектов. Затем создание или инициализация объектов, в данном случае делается в методе Initialize(), но это можно сделать в любом месте на этапе загрузки игры. Создаются объекты всегда именно таким способом, как показано в коде. Это их специфика, или черный ящик, как хотите. Главное, что нужно четко понимать, -это какие пути прописывать в параметрах конструкторов классов AudioEngine, SoundBank и WaveBank.

Как вы помните, все звуковые файлы на основе проектных данных файла XACT (Sound.xap), добавленные в рабочий каталог проекта, в момент компиляции будут преобразованы к файлам под названиями Wave Bank.xwb, Sound Bank.xsb и Sound.xgs. И именно к этим файлам вам необходимо прописывать путь в параметрах конструкторах классов AudioEngine, SoundBank и WaveBank. Если у вас после компиляции появляются ошибки, связанные с тем, что программа не может найти файлы Wave Bank.xwb, Sound Bank.xsb и Sound.xgs, то вы указали неверно либо путь к файлам, либо названия самих файлов. В этом случае после компиляции откройте рабочий каталог проекта и посмотрите, где у вас точно располагаются эти файлы, какое название они имеют, и, что немаловажно, обратите внимание на расширение файлов, у всех файлов оно разное.


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz