использовать первый диапазон перед повторением второго
This commit is contained in:
@@ -21,7 +21,8 @@ function Анимация(элемент, параметры)
|
||||
{
|
||||
return;
|
||||
}
|
||||
this.подготовитьДиапазон(0);
|
||||
this.номерДиапазона = 0;
|
||||
this.подготовитьДиапазон();
|
||||
this.номерОтрисовки = null;
|
||||
this.идёт = true;
|
||||
};
|
||||
@@ -40,22 +41,40 @@ function Анимация(элемент, параметры)
|
||||
this.переключитьКадр = function()
|
||||
{
|
||||
this.номерКадра += 1;
|
||||
if (this.номерКадра >= this.колвоКадров)
|
||||
// Кадры ещё есть.
|
||||
if (this.номерКадра < this.колвоКадров)
|
||||
{
|
||||
this.номерВоспроизведения += 1;
|
||||
return true;
|
||||
}
|
||||
// Кадры диапазона завершились.
|
||||
// Переключаем на следующий диапазон, если:
|
||||
// 1. сейчас первый (начальный) диапазон
|
||||
// 2. всего диапазонов хотя бы два
|
||||
if (
|
||||
this.номерДиапазона == 0 &&
|
||||
this.диапазоны.length > 1
|
||||
) {
|
||||
this.номерДиапазона++;
|
||||
this.подготовитьДиапазон();
|
||||
this.номерКадра = 0;
|
||||
if (
|
||||
this.воспроизведений > 0 &&
|
||||
this.номерВоспроизведения >= this.воспроизведений
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// Пробуем использовать следующее воспроизведение.
|
||||
this.номерВоспроизведения += 1;
|
||||
this.номерКадра = 0;
|
||||
// Воспроизведений не осталось.
|
||||
if (
|
||||
this.воспроизведений > 0 &&
|
||||
this.номерВоспроизведения >= this.воспроизведений
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
this.подготовитьДиапазон = function(н)
|
||||
this.подготовитьДиапазон = function()
|
||||
{
|
||||
let н = this.номерДиапазона;
|
||||
let ширинаДиапазона = Math.abs(this.диапазоны[н][2] - this.диапазоны[н][0]);
|
||||
let высотаДиапазона = Math.abs(this.диапазоны[н][3] - this.диапазоны[н][1]);
|
||||
let ширинаКадра = this.кадр[0];
|
||||
@@ -124,8 +143,8 @@ function Анимация(элемент, параметры)
|
||||
return false;
|
||||
}
|
||||
|
||||
this.диапазоны = диапазоны;
|
||||
this.воспроизведений = воспроизведений;
|
||||
this.диапазоны = диапазоны;
|
||||
this.кадр = [к0, к1];
|
||||
this.скорость = скорость;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user