использовать таймер физдвижка в анимациях
This commit is contained in:
@@ -2,18 +2,36 @@ function Анимации(события)
|
||||
{
|
||||
this.создать = function()
|
||||
{
|
||||
this.задано = {};
|
||||
this.анимации = {};
|
||||
this.задано = {};
|
||||
};
|
||||
|
||||
this.запустить = function(имя, элемент)
|
||||
{
|
||||
let ключ = `${элемент.id}`;
|
||||
// Останавливаем прошлый экземпляр этой анимации на том же элементе.
|
||||
this.остановить(имя, элемент);
|
||||
this.остановить(ключ);
|
||||
// Запускаем новый экземпляр анимации на том же элементе.
|
||||
let ключ = `${элемент.id}`;//-${имя}`;
|
||||
this.анимации[ключ] = new Анимация(элемент, this.задано[имя]);
|
||||
}
|
||||
};
|
||||
|
||||
this.обновить = function(время)
|
||||
{
|
||||
var удалить = [];
|
||||
// Проигрываем активные анимации.
|
||||
for (var ключ in this.анимации) {
|
||||
this.анимации[ключ].обновить(время);
|
||||
if (!this.анимации[ключ].идёт)
|
||||
{
|
||||
удалить.push(ключ);
|
||||
}
|
||||
}
|
||||
|
||||
// Удаляем завершившиеся анимации.
|
||||
for (var номер in удалить) {
|
||||
this.остановить(удалить[номер]);
|
||||
}
|
||||
};
|
||||
|
||||
this.обработатьКлюч = function(ключ, путь, значение)
|
||||
{
|
||||
@@ -33,15 +51,10 @@ function Анимации(события)
|
||||
события.уведомить(`анимации/${имя}`);
|
||||
};
|
||||
|
||||
this.остановить = function(имя, элемент)
|
||||
this.остановить = function(ключ)
|
||||
{
|
||||
let ключ = `${элемент.id}`;//-${имя}`;
|
||||
if (ключ in this.анимации)
|
||||
{
|
||||
this.анимации[ключ].остановить();
|
||||
delete this.анимации[ключ];
|
||||
}
|
||||
}
|
||||
delete this.анимации[ключ];
|
||||
};
|
||||
|
||||
// Конструктор.
|
||||
this.создать();
|
||||
|
||||
Reference in New Issue
Block a user