бесконечная фоновая музыка

This commit is contained in:
2021-08-06 14:29:42 +03:00
parent 246c5efa2e
commit 0faad3eb3b
2 changed files with 16 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
function Звуки(ключники, события) { function Звуки(ключники, события) {
this.создать = function() { this.создать = function() {
this.задано = {}; this.задано = {};
this.загружено = {}; this.аудио = {};
события.подписать(this); события.подписать(this);
var тут = this; var тут = this;
ключники.push(function(ключ, путь, значение) { ключники.push(function(ключ, путь, значение) {
@@ -40,7 +40,7 @@ function Звуки(ключники, события) {
var значение = значения[свойство]; var значение = значения[свойство];
if (событие == значение) if (событие == значение)
{ {
this.воспроизвести(значения.файл); this.воспроизвести(значения.файл, значения.повторять);
return; return;
} }
} }
@@ -48,16 +48,23 @@ function Звуки(ключники, события) {
} }
}; };
this.воспроизвести = function(файл) this.воспроизвести = function(файл, повторять)
{ {
if (!this.загружено[файл]) if (!this.аудио[файл])
{ {
this.загружено[файл] = new Audio(файл); this.аудио[файл] = new Audio(файл);
} }
var звук = this.загружено[файл]; var звук = this.аудио[файл];
звук.pause(); звук.pause();
звук.currentTime = 0; звук.currentTime = 0;
звук.play(); звук.play();
if (повторять)
{
звук.onended = function() {
звук.play();
}
}
}; };
// Конструктор. // Конструктор.

View File

@@ -444,3 +444,6 @@ function ОтладкаСобытий() {
мир.отладкаСобытий = new ОтладкаСобытий(); мир.отладкаСобытий = new ОтладкаСобытий();
// Запустить звук избы
мир.события.уведомить("вошли в избу");