From 8d61cfbf642b86cf3f4a03bd68bae2c39b2fd13b 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: Fri, 13 Aug 2021 15:23:19 +0300 Subject: [PATCH] some --- 130.изображения.js | 59 +++++++++++++++++++++++++++++++++++ 170.объекты.js | 53 ------------------------------- 700.пуск.js | 14 +++++++++ index.html | 1 + 4 files changed, 74 insertions(+), 53 deletions(-) create mode 100644 130.изображения.js diff --git a/130.изображения.js b/130.изображения.js new file mode 100644 index 0000000..a14b653 --- /dev/null +++ b/130.изображения.js @@ -0,0 +1,59 @@ +function Изображения(корень) +{ + this.создать = function() + { + this.умолчание = { + x: 0, + y: 0, + ширина: 100, + высота: 100, + угол: 0, + }; + this.задано = {}; + this.элементы = {}; + }; + + this.обработатьКлюч = function(ключ, путь, значение) + { + var имя = путь[1]; + var свойство = путь.slice(2).join("."); + + if (!this.задано[имя]) + { + this.задано[имя] = {}; + } + this.задано[имя][свойство] = значение; + this.обновитьЭлемент(имя); + }; + + this.создатьИлиПолучитьЭлемент = function(имя) + { + var эл = this.элементы[имя]; + if (эл) + { + return эл; + } + + var ум = this.умолчание; + эл = document.createElement("div"); + эл.id = `изображения-${имя}`; + эл.style.position = "absolute"; + эл.style.display = "block"; + // Свойства по умолчанию. + эл.style.width = `${ум.ширина}px`; + эл.style.height = `${ум.высота}px`; + эл.style.transform = `translate(${ум.x}px, ${ум.y}px) rotate(${ум.угол}rad)`; + this.элементы[имя] = эл; + корень.appendChild(эл); + return эл; + }; + + this.обновитьЭлемент = function(имя) + { + var эл = this.создатьИлиПолучитьЭлемент(имя); + + }; + + // Конструктор. + this.создать(); +} diff --git a/170.объекты.js b/170.объекты.js index 5b4ad8f..b456e7c 100644 --- a/170.объекты.js +++ b/170.объекты.js @@ -1,56 +1,3 @@ -/* -function Объекты(ключники) { - this.создать = function() { - this.умолчание = { - x: 0, - y: 0, - ширина: 40, - высота: 20, - физика: { - isStatic: true, - }, - }; - this.задано = {}; - this.тела: {}, - this.имена: {}, - this.элементы: {}, - this.свойстваТела: ["x", "y", "ширина", "высота", "физика"], - - - - - - this.задано = {}; - this.аудио = {}; - var тут = this; - ключники.push(function(ключ, путь, значение) { - тут.обработатьКлюч(ключ, путь, значение); - }); - }; - - this.обработатьКлюч = function(ключ, путь, значение) { - if (!путь[0].startsWith("звуки")) - { - return; - } - - var имя = путь[1]; - var свойство = путь.slice(2).join("."); - - if (!this.задано[имя]) - { - this.задано[имя] = {}; - } - this.задано[имя][свойство] = значение; - }; - - // Конструктор. - this.создать(); -} -*/ - - - мир.объекты = { умолчание: { x: 0, diff --git a/700.пуск.js b/700.пуск.js index 6845f5b..659481f 100644 --- a/700.пуск.js +++ b/700.пуск.js @@ -2,15 +2,29 @@ function Пуск() { this.запустить = function() { + var корень = document.getElementById("корень"); + мир.изображения = new Изображения(корень); мир.физика.создать(); мир.столкновения.создать(); мир.звуки = new Звуки(мир.ключники, мир.события); мир.движение = new Движение(мир.ключники); /**/мир.ограничитель = new Ограничитель(); /**/мир.рт = new РучноеТело(мир.события); + + this.настроитьОбработкуКлючей(); this.обновить(); }; + this.настроитьОбработкуКлючей = function() + { + мир.ключники.push(function(ключ, путь, значение) { + if (путь[0] == "изображения1") + { + мир.изображения.обработатьКлюч(ключ, путь, значение); + } + }); + }; + this.обновить = function() { /**/мир.ограничитель.обновить(); diff --git a/index.html b/index.html index 3c127bd..9c806f9 100644 --- a/index.html +++ b/index.html @@ -69,6 +69,7 @@ +