diff --git a/6.0/игра/075.Анимация.js b/6.0/игра/075.Анимация.js index d1e7e89..1d5d7e5 100644 --- a/6.0/игра/075.Анимация.js +++ b/6.0/игра/075.Анимация.js @@ -26,29 +26,11 @@ function Анимация(элемент, параметры) this.запустить = function() { this.идёт = false; - - let п = параметры; - let воспроизведений = Number(п["воспроизведений"]); - let скорость = Number(п["скорость"]); - let к0 = Number(п["кадр.0"]); - let к1 = Number(п["кадр.1"]); - let диапазоны = this.разобратьДиапазоны(); - - if ( - воспроизведений == null || - скорость == null || - к0 == null || - к1 == null || - диапазоны == null - ) { + if (!this.разобратьПараметры()) + { return; } - this.диапазоны = диапазоны; - this.воспроизведений = воспроизведений; - this.кадр = [к0, к1]; - this.скорость = скорость; - let ширинаДиапазона = Math.abs(this.диапазоны[0][2] - this.диапазоны[0][0]); let высотаДиапазона = Math.abs(this.диапазоны[0][3] - this.диапазоны[0][1]); let ширинаКадра = this.кадр[0]; @@ -60,7 +42,7 @@ function Анимация(элемент, параметры) this.поГоризонтали = кадровПоГоризонтали > кадровПоВертикали; this.номерКадра = -1; this.колвоКадров = this.поГоризонтали ? кадровПоГоризонтали : кадровПоВертикали; - this.началоДиапазона = [диапазоны[0][0], диапазоны[0][1]]; + this.началоДиапазона = [this.диапазоны[0][0], this.диапазоны[0][1]]; this.номерИтерации = null; this.идёт = true; }; @@ -76,25 +58,6 @@ function Анимация(элемент, параметры) this.номерИтерации = итерация; }; - this.разобратьДиапазон = function(номер) - { - var список = []; - for (var н = 0; н < 4; ++н) - { - let ключ = `диапазон.${номер}.${н}`; - let значение = Number(параметры[ключ]); - if (значение) - { - список.push(значение); - } - } - if (список.length == 4) - { - return список; - } - return null; - }; - this.разобратьДиапазоны = function() { let ключи = Object.keys(параметры).sort(); @@ -130,6 +93,33 @@ function Анимация(элемент, параметры) return null; }; + this.разобратьПараметры = function() + { + let п = параметры; + let воспроизведений = Number(п["воспроизведений"]); + let скорость = Number(п["скорость"]); + let к0 = Number(п["кадр.0"]); + let к1 = Number(п["кадр.1"]); + let диапазоны = this.разобратьДиапазоны(); + + if ( + воспроизведений == null || + скорость == null || + к0 == null || + к1 == null || + диапазоны == null + ) { + return false; + } + + this.диапазоны = диапазоны; + this.воспроизведений = воспроизведений; + this.кадр = [к0, к1]; + this.скорость = скорость; + + return true; + }; + // Конструктор. this.запустить(); }