Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Итогом всех этих незамысловатых действий стало создание проектного файла Sound.xap. Что нам это дало? В момент компиляции проекта в работу вступит Content Pipeline, который своими внутренними сервисами на основе проектного файла Sound.xap произведет преобразование всех звуковых файлов проекта в три

специфических файла: Wave Bank.xwb, Sound Bank.xsb и Sound.xgs. Именно из этих трех файлов в дальнейшем будет происходить воспроизведение звука в игре. То есть после того как вы откомпилируете проект, в рабочем каталоге проекта в папках Debug или Release == Content == Sound появятся новые файлы Wave Bank.xwb, Sound Bank.xsb и Sound.xgs - и вся работа программы со звуковыми данными будет происходить именно с этими файлами.

13.2. Класс Sound

Для работы со звуковыми данными в игре лучше создать отдельный класс, который вы всегда можете со временем усовершенствовать, а также использовать в любых других своих проектах. Так поступим и мы, но свой класс писать не будем, а возьмем уже готовое решение, поставляемое в комплекте с Spacewar Windows Starter Kit. В частности, класс Sound, который реализован достаточно просто и элегантно. Немного переделав его под свой проект, мы получаем вполне функциональный класс. Давайте посмотрим сначала на весь исходный код класса Sound, представленный в листинге 13.1, а затем перейдем к его анализу.

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

Класс Sound 203

Рис. 13.8. Сохранение проекта XACT в каталоге создаваемого приложения

//=========================================================================

/// <summary> /// Глава 13 /// Листинг 13.1 /// Проект: Audio /// Класс: Sound /// <summary>

//=========================================================================

#region Dependencies using System;

using System.Collections.Generic; using System.Text; using System.IO;

using Microsoft.Xna.Framework.Audio; #endregion

namespace Audio {

public enum soundList

{

/// <summary>

/// Прикосновение к платформе

/// </summary>

Platform,

/// <summary>

/// Падение в пропасть

/// </summary>

Boom,

public static class Sound

{

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

/// <summary> /// Инициализация /// </summary>

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");


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

Горяченькое

Друзья

Hosted by uCoz