Paso 7: Agregar código al formulario para reproducir sonidos
Ahora, está listo para agregar un segundo SoundPlayer y, a continuación, agregar un método para llamar a cada uno de ellos.
Para obtener una versión en vídeo de este tema, vea tutorial 2: Crear un Laberinto en Visual Basic - vídeo 5 o tutorial 2: Crear un Laberinto en C# - vídeo 5.
Para reproducir sonidos
Para empezar, agregue un segundo SoundPlayer para reproducir el sonido Tada de Windows.Su juego reproducirá este sonido cuando el jugador alcance la etiqueta Meta.
Public Class Form1 ' This SoundPlayer plays a sound whenever the player hits a wall. Private startSoundPlayer = New System.Media.SoundPlayer("C:\Windows\Media\chord.wav") ' This SoundPlayer plays a sound when the player finishes the game. Private finishSoundPlayer = New System.Media.SoundPlayer("C:\Windows\Media\tada.wav") Public Sub New() ' This call is required by Windows Forms Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. MoveToStart() End Sub
public partial class Form1 : Form { // This SoundPlayer plays a sound whenever the player hits a wall. System.Media.SoundPlayer startSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav"); // This SoundPlayer plays a sound when the player finishes the game. System.Media.SoundPlayer finishSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\tada.wav"); public Form1() { InitializeComponent(); MoveToStart(); }
Ahora, los dos elementos SoundPlayer se han agregado al formulario.Agregue un método Play() para llamar a SoundPlayer y reproducir el sonido en el momento adecuado.El sonido debe reproducirse cuando el usuario toque un muro.Así pues, agregue la instrucción startSoundPlayer.Play(); al método MoveToStart().Recuerde actualizar el comentario.El método final tendrá el siguiente aspecto.
''' <summary> ''' Play a sound, then move the mouse pointer to a point 10 pixels down and to ''' the right of the starting point in the upper-left corner of the maze. ''' </summary> ''' <remarks></remarks> Private Sub MoveToStart() startSoundPlayer.Play() Dim startingPoint = Panel1.Location startingPoint.Offset(10, 10) Cursor.Position = PointToScreen(startingPoint) End Sub
/// <summary> /// Play a sound, then move the mouse pointer to a point 10 pixels down and to /// the right of the starting point in the upper-left corner of the maze. /// </summary> private void MoveToStart() { startSoundPlayer.Play(); Point startingPoint = panel1.Location; startingPoint.Offset(10, 10); Cursor.Position = PointToScreen(startingPoint); }
Agregue la instrucción finishSoundPlayer.Play(); al controlador de eventos MouseEnter de la etiqueta Meta.Recuerde actualizar el comentario, porque va a cambiar el código, como sigue.
Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter ' Play a sound, show a congratulatory MessageBox, then close the form. finishSoundPlayer.Play() MessageBox.Show("Congratulations!") Close() End Sub
private void finishLabel_MouseEnter(object sender, EventArgs e) { // Play a sound, show a congratulatory MessageBox, then close the form. finishSoundPlayer.Play(); MessageBox.Show("Congratulations!"); Close(); }
Para continuar o revisar
Para ir al siguiente paso del tutorial, vea Paso 8: Ejecutar el programa y probar otras características.
Para volver al paso anterior del tutorial, vea Paso 6: Agregar un SoundPlayer.