Поделиться через


Шаг 6. Добавление объекта SoundPlayer

Далее добавим в игру "Лабиринт" звук.Один из звуков должен воспроизводится, когда пользователь касается стены и возвращается назад к начальной позиции. Другой звук должен воспроизводится, когда пользователь выигрывает.На данном шаге добавляется звук, который воспроизводится, когда указатель мыши касается стены.Хотя это может показаться сложным, требуется всего лишь несколько строк кода.

ссылка на видеоДля видео версии этого раздела см. в разделе Учебное руководство 2. Создание лабиринта в Visual Basic - видео 4 OR Учебное руководство 2. Создание лабиринта в c# - видео 4.

Добавление объекта класса SoundPlayer для шума

  1. Начните добавление объекта класса SoundPlayer в код формы перед конструктором.

    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")
    
        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");
    
        public Form1()
        {
            InitializeComponent();
            MoveToStart();
        }
    
    ПримечаниеПримечание

    Первая строка (public partial class Form1 : Form) ранее встречалась несколько раз.Она является важной, так как содержит ключевое слово class.Ключевое слово class встречается много раз, так как класс это основной стандартный блок любой программы.

  2. Ранее указатель мыши помещался над словом MessageBox в операторе MessageBox.Show("Congratulations!");, чтобы интегрированная среда разработки открыла подсказку.Повторите это еще раз и внимательно посмотрите на первую строку, которая приведена ниже.

    Подсказка

    Подсказка

    ПримечаниеПримечание

    Ключевое слово class появляется в первой строке.Оно встречается часто, так как код организован в классы следующим образом — программа содержит классы, каждый класс содержит методы, каждый метод содержит операторы.Существует множество встроенных классов, например, MessageBox.Класс MessageBox содержит метод, который вызывается как Show() и будучи вызванным, он выполняет операторы, которые открывают окно сообщения.Также уже выполнялась работа с классами Button, Label, Panel.При установке значений свойств этих классов производилась работа с другой стороной классов — класс, как и метод, может содержать свойства; установка этих свойств приводит к выполнению классом операторов, которые меняют поведение.

    Как можно догадаться, класс SoundPlayer — это класс, который воспроизводит звук.При создании объекта SoundPlayer вместе с ключевым словом new, он загружает звук из файла, который может быть воспроизведен с помощью метода Play().Этот объект SoundPlayer будет использован для воспроизведения звука "Аккорд" операционной системы Windows, когда игрок начинает новую игру или когда указатель касается стены и игрок заново начинает игру.(поэтому у метода имя startSoundPlayer).

  3. Если необходимо использовать другие звуки, замените путь между знаками кавычек (C:\Windows\Media\chord.wav) на путь к нужному звуковому файлу.

    При создании формы с помощью конструктора Windows Forms при создании собственных классов используется помощь интегрированной среды разработки, в этом случае у класса будет имя Form1.При добавлении строки кода перед конструктором, в форму добавляется новый объект SoundPlayer, точно также, как ранее добавлялись кнопка или метка.Оператор расположен за пределами метода, поэтому доступ к объекту SoundPlayer может быть выполнен из нескольких методов.Вот почему необходимо поместить новый оператор внутри кода формы, но вне ее методов.Ему дается имя startSoundPlayer, таким же образом назван один из элементов управления Label — finishLabel.

    После добавления оператора для создания нового объекта SoundPlayer и его вызова startSoundPlayer, он появляется в окне IntelliSense, также как метки, кнопки и другие элементы управления.

    Это может показаться сложным, но это похоже на то, что выполнялось ранее в интегрированной среде разработки.Например, при использовании панели элементов интегрированной среды разработки для добавления кнопки или метки в форму, интегрированная среда разработки автоматически добавляет строки кода, которые используются для создания новой кнопки или новой метки.Сейчас выполнялось тоже самое, только на этот раз создается объект SoundPlayer.(второй объект SoundPlayer создается в следующем шаге руководства).

Продолжить или повторить пройденный материал