Explorar el Código

использовать первый диапазон перед повторением второго

master
padre
commit
048c753531
Se han modificado 1 ficheros con 30 adiciones y 11 borrados
  1. +30
    -11
      6.0/игра/075.Анимация.js

+ 30
- 11
6.0/игра/075.Анимация.js Ver fichero

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



Cargando…
Cancelar
Guardar