Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Audio/XACT  SoundEffects e Cues
Anterior Anterior
 
Próximo Próximo
Nova Entrada 25/11/2008 19:07
  BenStroke
1 tópicos
Sem Ranking


SoundEffects e Cues 

Olá a todos.

Estou iniciando no XNA e estou algumas dúvidas referentes a som.

Com o XNA 3.0, há a possibilidade de não mais se usar o XACT, usando SoundEffects e SoundEffectInstances.

Mas, como criar uma função que receba o nome do som [creio que previamente 'carregado' no LoadContent] e retorne o som, em si?
Pergunto isso porque estou com certas dificuldades nesta parte: não consigo passar a string do nome do som para a variável, daí, mesmo que eu faça a tal chamada, ela não iria ter o que buscar.

Há como "pegar o nome", associando ao Cue? Algo semelhante ao que era possível em "soundbank.getCue(nome)"?

Desde já agradeço e guardo respostas.
Abraços.

 
Nova Entrada 27/11/2008 22:18
  lucianoJose
123 tópicos
Iniciante


Re: SoundEffects e Cues 
Modificado Por lucianoJose  em 27/11/2008 20:21:47)
 BenStroke escreveu

Olá a todos.

Estou iniciando no XNA e estou algumas dúvidas referentes a som.

Com o XNA 3.0, há a possibilidade de não mais se usar o XACT, usando SoundEffects e SoundEffectInstances.

Mas, como criar uma função que receba o nome do som [creio que previamente 'carregado' no LoadContent] e retorne o som, em si?
Pergunto isso porque estou com certas dificuldades nesta parte: não consigo passar a string do nome do som para a variável, daí, mesmo que eu faça a tal chamada, ela não iria ter o que buscar.

Há como "pegar o nome", associando ao Cue? Algo semelhante ao que era possível em "soundbank.getCue(nome)"?

Desde já agradeço e guardo respostas.
Abraços.



Olá BenStroke blz?

Existem várias formas de se fazer isso que você quer. Eu fiz uma classe demonstrando uma maneira de se fazer isso que você quer. Qualquer dúvida ou questionamento sobre a mesma, você pode ficar a vontade em indagar. Abaixo segue a classe:

public class MySoundBank
    {
        ///<summary>
        /// Banco de Som; Coleção que irá armazenar as canções.
        ///</summary>
        private Dictionary<Sounds, Song> soundBank;
 
        public enum Sounds
        {
            Sound1, Sound2, Sound3
        }
 
        public MySoundBank()
        {
            this.soundBank = new Dictionary<Sounds, Song>();
        }   
 
        ///<summary>
        /// Adiciona uma canção ao Banco de Som(soundBank).
        ///</summary>
        ///<param name="sound">Valor da Enumeração(Sounds) que vai representar uma canção no banco de Som(soundBank)</param>
        ///<param name="song">A canção que será adicionada ao banco de som(soundBank)</param>
        public void AddSound(Sounds sound, Song song)
        {
            this.soundBank.Add(sound, song);
        }
 
        ///<summary>
        /// Pega uma canção armazenada no Banco de som
        ///</summary>
        ///<param name="sound">Valor da Enumeração(Sounds) que vai representar uma canção no banco de Som(soundBank)</param>
        ///<returns>Retorna uma canção do banco de Som(soundBank)</returns>
        public Song GetSound(Sounds sound)
        {
            return this.soundBank[sound];
        }
    }

Só uma observação:

Ao invés da classe Song você pode usar também a classe SoundEffect. Fica a cargo da sua necessidade e/ou escolha!

vlw, abraços

MCP, MCTS. Administrador do SharpGames. Game Developer(C++) at Manifesto Game Studio Meu Blog: lucianojosefj.spaces.live.com
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Audio/XACT  SoundEffects e Cues
AdSense

Amazon

Logos do XBox 360, XNA e Games For Windows
Copyright 2008 por SharpgamesPolítica de Privacidade  |  Termos de Uso