бесконечная фоновая музыка
This commit is contained in:
19
380.звуки.js
19
380.звуки.js
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Конструктор.
|
// Конструктор.
|
||||||
|
|||||||
@@ -444,3 +444,6 @@ function ОтладкаСобытий() {
|
|||||||
|
|
||||||
мир.отладкаСобытий = new ОтладкаСобытий();
|
мир.отладкаСобытий = new ОтладкаСобытий();
|
||||||
|
|
||||||
|
|
||||||
|
// Запустить звук избы
|
||||||
|
мир.события.уведомить("вошли в избу");
|
||||||
|
|||||||
Reference in New Issue
Block a user