Browse Source

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

master
parent
commit
0faad3eb3b
2 changed files with 16 additions and 6 deletions
  1. +13
    -6
      380.звуки.js
  2. +3
    -0
      800.пример.json.js

+ 13
- 6
380.звуки.js 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();
}
}
}; };


// Конструктор. // Конструктор.


+ 3
- 0
800.пример.json.js View File

@@ -444,3 +444,6 @@ function ОтладкаСобытий() {


мир.отладкаСобытий = new ОтладкаСобытий(); мир.отладкаСобытий = new ОтладкаСобытий();



// Запустить звук избы
мир.события.уведомить("вошли в избу");

Loading…
Cancel
Save