From 7042dcb79a5acf00725b99e00b4f72b94270165b 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: Mon, 13 Dec 2021 21:28:04 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4.1/игра/190.Состояния.js | 41 ++++++++++++++++++++++++++ 4.1/игра/700.Игра.js | 2 ++ 2 files changed, 43 insertions(+) create mode 100644 4.1/игра/190.Состояния.js diff --git a/4.1/игра/190.Состояния.js b/4.1/игра/190.Состояния.js new file mode 100644 index 0000000..c67a53f --- /dev/null +++ b/4.1/игра/190.Состояния.js @@ -0,0 +1,41 @@ +function Состояния() +{ + this.создать = function() + { + this.задано = {}; + }; + + this.применить = function(имя) + { + /* + let ключ = `${элемент.id}-${имя}`; + // Останавливаем прошлый экземпляр этой анимации на том же элементе. + if (ключ in this.анимации) + { + this.анимации[ключ].остановить(); + delete this.анимации[ключ]; + } + // Запускаем новый экземпляр анимации на том же элементе. + this.анимации[ключ] = new Анимация(элемент, this.задано[имя]); + */ + } + + this.обработатьКлюч = function(ключ, путь, значение) + { + if (путь[0] != "состояния") + { + return; + } + + let имя = путь[1]; + let свойство = путь.slice(2).join("."); + if (!this.задано[имя]) + { + this.задано[имя] = {}; + } + this.задано[имя][свойство] = значение; + }; + + // Конструктор. + this.создать(); +}; diff --git a/4.1/игра/700.Игра.js b/4.1/игра/700.Игра.js index cc18cc4..cb598d1 100644 --- a/4.1/игра/700.Игра.js +++ b/4.1/игра/700.Игра.js @@ -19,6 +19,7 @@ function Игра() мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world); мир.слежение = new Слежение(мир.состояние, мир.изображения, мир.тела); мир.объекты = new Объекты(мир.состояние, мир.события); + мир.состояниЯ = new Состояния(); let адресИгры = window.location.pathname + "/../игра.html?z64="; мир.сцена = new Сцена(мир.состояние, мир.события, мир.тела, адресИгры); мир.мышь = new Мышь(мир.события); @@ -35,6 +36,7 @@ function Игра() мир.тела, мир.слежение, мир.объекты, + мир.состояниЯ, мир.сцена, мир.столкновения, мир.подсказки,