From ac9f603a4b90d8ee7909614f15dedd7f0f271a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Tue, 24 May 2022 17:07:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F.=D1=80=D0=B0=D0=B7=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 6.0/игра/075.Анимация.js | 70 ++++++++++++---------------- 1 file changed, 30 insertions(+), 40 deletions(-) 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.запустить(); }