ArcadiA Club
ArcadiA Club


AAC FORUM     AAC News     AAC Box    



Home Page   Home Page
crearegame.htm   Game Creation - FORUM sezione  Vai al FORUM
 
Username:
Password:
Iscriviti!  |  Recupero password



Iscriviti GRATIS, potrai navigare senza questa
fascia e accedere a contenuti esclusivi:

    E-Mail:

Password:



 

 
- Come inserire la musica in un videogioco creato con XNA -
 
COSA SERVE PER QUESTO TUTORIAL
Download | Chiedi sul FORUM | Glossario cognizioni basiche di C# e sul framework XNA
Le classi Song e MediaPlayer di XNA

RIPRODURRE MUSICA IN XNA
L'oggetto MediaPlayer per riprodurre MP3, WAV e WMA.

In questo tutorial ci occuperemo di una parte fondamentale di un videogioco che si rispetti: la musica. Grazie alla versione 3.0 del framework XNA gestire il suono risulta molto più semplice che in passato, principalmente per il supporto ad alcuni tra i formati audio compressi più diffusi, MP3 e WMA, mentre in precedenza era possibile utilizzare solamente file WAV (ovviamente ancora supportati). In questo tutorial ci baseremo sul progetto MuoviPallina.
Per prima cosa dobbiamo aggiungere il nostro file audio al progetto: nel Solution Explorer fare click destro su Content, Add, Existing Item..., quindi selezionare il file in questione. In questo modo durante la fase di build esso verrà convertito in formato XNB in modo da essere utilizzabile da parte di XNA. Ora dobbiamo caricarlo in memoria nel metodo Load della nostra classe Game:


namespace MuoviPallinaMusica
{
    public class PallinaGame : Microsoft.Xna.Framework.Game
    {
        // ...
        Song backgroundMusic;
        // ...


        protected override void LoadContent()
        {
            // ...
            backgroundMusic = this.Content.Load<Song>("eurodance");
            // ...
        }
        // ...
    }
}

Come si può vedere ci siamo serviti della classe Song che memorizza i dati della canzone insieme ad altre informazioni come artista, genere, titolo e così via.
Per avviare la riproduzione è sufficiente invece servirsi della classe MediaPlayer che, come suggerisce il nome, si occupa proprio di gestire la musica del videogioco, permettendo di riprodurla, sospenderla, riprenderla, passare alla traccia successiva e così via. All'inizio del gioco vogliamo che la musica venga riprodotta quindi effettuiamo un override di Game.BeginRun e invochiamo il metodo per MediaPlayer.Play:


protected override void BeginRun()
{
    // Avviamo la musica
    MediaPlayer.Play(backgroundMusic);

    base.BeginRun();
}

Nota: la classe MediaPlayer, sotto Windows, richiede che sia installato Windows Media Player, purtroppo.

In Update invece vogliamo inserire la possibilità di interrompere e far riprendere la musica premendo barra spaziatrice:


protected override void Update(GameTime gameTime)
{
    // ...

    if (Keyboard.GetState(PlayerIndex.One).IsKeyDown(Keys.Space))
    { 
        // Alla pressione della barra spaziatrice invertiamo lo stato della musica
        if (MediaPlayer.State == MediaState.Paused)
            MediaPlayer.Resume();
        else
            MediaPlayer.Pause();
    }
    
    // ...
}

<< INDIETRO by VeNoM00  


Video collegati Visualizza i video di questa pagina
Visualizza video sull'argomento "musica".
Visualizza video sull'argomento "mediaplayer".
Visualizza video sull'argomento "song".
Visualizza video sull'argomento "musica xna mp3 wma wav mediaplayer song".


Dì la tua: cosa ne pensi?
Esponi il tuo punto di vista e condividilo con migliaia di persone

Oggetto nuova discussione:


Testo del messaggio:

E-Mail:

Quanto fa più dieci:




 





^ TOP  
Linkaci | Segnala errore | Invita | Stampa


pubblicità | privacy | visione | diritti | ufficio stampa | donazioni | scrivici
© 1999-2023 - P.IVA 02284690035 - Grafica, layout e contenuti sono di esclusiva proprietà di ArcadiA Club.

Powered by:
Spazi pubblicitari di alto livello
 

Compra in un click! | Cerca prodotti in offerta: