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