|
|
@@ -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.скорость = скорость; |
|
|
|
|
|
|
|