поправить мерцание при начале анимации
This commit is contained in:
@@ -35,7 +35,7 @@ function Анимация(элемент, параметры)
|
||||
this.номерВоспроизведения = 0;
|
||||
this.колвоВоспроизведений = воспроизведений;
|
||||
this.размерКадра = [к0, к1];
|
||||
this.поГоризонтаи = кадровПоГоризонтали > кадровПоВертикали;
|
||||
this.поГоризонтали = кадровПоГоризонтали > кадровПоВертикали;
|
||||
this.номерКадра = 0;
|
||||
this.колвоКадров = this.поГоризонтали ? кадровПоГоризонтали : кадровПоВертикали;
|
||||
// Возможно, в будущем стоит заменить частные таймеры на один общий.
|
||||
|
||||
@@ -8,7 +8,6 @@ function Анимации(события)
|
||||
|
||||
this.запустить = function(имя, элемент)
|
||||
{
|
||||
/**/console.debug("ИГР Анимации.запустить", имя, элемент, this.анимации);
|
||||
// Останавливаем прошлый экземпляр этой анимации на том же элементе.
|
||||
this.остановить(имя, элемент);
|
||||
// Запускаем новый экземпляр анимации на том же элементе.
|
||||
@@ -42,7 +41,6 @@ function Анимации(события)
|
||||
this.анимации[ключ].остановить();
|
||||
delete this.анимации[ключ];
|
||||
}
|
||||
/**/console.debug("ИГР Анимации.остановить", имя, элемент, this.анимации);
|
||||
}
|
||||
|
||||
// Конструктор.
|
||||
|
||||
@@ -74,6 +74,7 @@ function Слежение(состояние, изображения, тела)
|
||||
var x = this.lerp(x0, x1, скорость, предел);
|
||||
var y = this.lerp(y0, y1, скорость, предел);
|
||||
|
||||
/*
|
||||
// Ничего не делаем, если разница ничтожна.
|
||||
let ничтожно = 0.00001;
|
||||
if (
|
||||
@@ -86,6 +87,7 @@ function Слежение(состояние, изображения, тела)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
// Иначе применяем новые значения.
|
||||
элемент.dataset.слежениеX = x;
|
||||
|
||||
@@ -45,10 +45,9 @@ function Объекты(состояние, события)
|
||||
свойство == "вид" ||
|
||||
свойство == "анимация"
|
||||
) {
|
||||
let пр = this.пр(имя);
|
||||
let вид = this.задано[имя]["вид"];
|
||||
let анимация = this.задано[имя]["анимация"];
|
||||
this.обновитьИзображение(производноеИмя, пр, вид, анимация);
|
||||
this.обновитьИзображение(производноеИмя, null, вид, анимация);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -96,22 +95,25 @@ function Объекты(состояние, события)
|
||||
|
||||
this.обновитьВидАнимацию = function(имя)
|
||||
{
|
||||
let пр = this.пр(имя);
|
||||
let вид = this.задано[имя]["вид"];
|
||||
let анимация = this.задано[имя]["анимация"];
|
||||
let производноеИмя = `объекты-${имя}`;
|
||||
this.обновитьИзображение(производноеИмя, пр, вид, анимация);
|
||||
this.обновитьИзображение(производноеИмя, null, вид, анимация);
|
||||
};
|
||||
|
||||
this.обновитьИзображение = function(имя, пр, вид, анимация)
|
||||
{
|
||||
var описание = {
|
||||
вид: вид,
|
||||
анимация: анимация,
|
||||
};
|
||||
if (пр)
|
||||
{
|
||||
описание["пр"] = пр;
|
||||
}
|
||||
состояние.разобрать({
|
||||
изображения: {
|
||||
[имя]: {
|
||||
пр: пр,
|
||||
вид: вид,
|
||||
анимация: анимация,
|
||||
},
|
||||
[имя]: описание,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@@ -7,7 +7,6 @@ function Состояния(состояние)
|
||||
|
||||
this.применить = function(имя)
|
||||
{
|
||||
console.debug("ИГР Состояния.применить", имя, this.задано[имя]);
|
||||
состояние.разобратьВыпрямленный(this.задано[имя]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user