Partilhar via


Etapa 7: Adicionar Código para seu formulário para tocar sons

Agora você está pronto para adicionar um segundo SoundPlayer e, em seguida, adicione um método para Chamada cada SoundPlayer.

Para Tocar sons

  1. Comece adicionando um segundo SoundPlayer para Tocar o som Tada do Janelas. O Game será Tocar este som quando o Tocar er atinge o rótulo de Concluir.

    Public Class Form1
    
        ' This SoundPlayer plays a sound whenever the player hits a wall.
        Dim startSoundPlayer = New System.Media.SoundPlayer("C:\Windows\Media\chord.wav")
    
        ' This SoundPlayer plays a sound when the player finishes the game.
        Dim 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();
        }
    
  2. Os dois SoundPlayers agora são adicionados ao formulário. Adicionar um **Play()**método para chamar SoundPlayer para Tocar o som no momento apropriado. Você quer um som seja tocado somente quando o usuário pressiona uma parede. Portanto, Adicionar Declaração startSoundPlayer.Play();para seu **MoveToStart()**método. Lembre-se atualizar o comentário. O método final é semelhante ao seguinte.

    ''' <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);
    }
    
  3. Adicione a Declaração finishSoundPlayer.Play();para o Concluir rótulo MouseEnter manipulador de Evento. Lembre-se atualizar o comentário, porque você está alterando o código da seguinte maneira.

    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 ou revisar