Воспроизведение фоновой музыки
Игра должна выводить какой-то звук, помимо звукового эффекта попадания пули. Для воспроизведения фоновой музыки мы снова будем использовать компонентную систему.
Давайте создадим ноду с компонентом Music Player, который воспроизводит зацикленную музыку с самого начала игры.
- Откройте свою среду IDE, создайте новый компонент C++ и назовите его MusicPlayer.
-
Скопируйте приведенный ниже код и вставьте его в соответствующие файлы в вашем проекте и сохраните их в вашей IDE. Создайте и запустите решение для создания свойства MusicPlayer.
#pragma once #include <UnigineComponentSystem.h> #include <UnigineSounds.h> class MusicPlayer : public Unigine::ComponentBase { public: // declare constructor and destructor for our class and define a property name. COMPONENT_DEFINE(MusicPlayer, ComponentBase) // declare methods to be called at the corresponding stages of the execution sequence COMPONENT_INIT(init); COMPONENT_SHUTDOWN(shutdown); // background music asset PROP_PARAM(File, background_music); protected: void init(); void shutdown(); private: Unigine::AmbientSourcePtr music; };
#include "MusicPlayer.h" REGISTER_COMPONENT(MusicPlayer); using namespace Unigine; void MusicPlayer::init() { music = AmbientSource::create(background_music); music->setLoop(1); music->setGain(0.5f); // start playing the music on initialization music->play(); } void MusicPlayer::shutdown() { if (music) music.deleteLater(); }
- Создайте новую Dummy Node, переименуйте ее в "music_player" и поместите ее где-нибудь в мире.
- Назначьте компонент MusicPlayer ноде music_player.
-
Назначьте импортированный музыкальный ассет (programming_quick_start/music/ost.mp3) полю Background Music компонента MusicPlayer.
- Сохраните изменения в мире, перейдите к File->Save World или нажмите горячую клавишу Ctrl+S.
- Запустите проект в своей среде разработки, чтобы проверить фоновую музыку.
Последнее обновление:
26.09.2023
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter