diff --git a/667.ручноетело.js b/667.ручноетело.js new file mode 100644 index 0000000..119bf5d --- /dev/null +++ b/667.ручноетело.js @@ -0,0 +1,46 @@ +function РучноеТело(события) { + this.создать = function() { + события.подписать(this); + }; + + this.обработатьСобытие = function(событие) { + if (событие != "игрок начал прыжок") + { + return; + } + события.отписать(this); + this.настроить(); + }; + + this.настроить = function() + { + + var физика = { + inertia: Infinity, + }; + this.тело = Matter.Bodies.rectangle(1200, 300, 40, 40, физика); + Matter.Composite.add(мир.физика.движок.world, this.тело); + + this.элемент = document.createElement("div"); + document.getElementById("корень").appendChild(this.элемент); + this.элемент.id = `рт`; + this.элемент.style.position = "absolute"; + this.элемент.style.display = "block"; + this.элемент.style.transformOrigin = "center"; + this.элемент.style.width = `40px`; + this.элемент.style.height = `40px`; + this.элемент.style.setProperty("background", "url(р/отладка/основа.jpg)"); + }; + + this.обновить = function() + { + if (!this.тело) + { + return; + } + мир.синхронизироватьЭлементТело(this.элемент, this.тело); + }; + + // Конструктор. + this.создать(); +} diff --git a/700.пуск.js b/700.пуск.js index e4eb8cc..6845f5b 100644 --- a/700.пуск.js +++ b/700.пуск.js @@ -7,12 +7,14 @@ function Пуск() мир.звуки = new Звуки(мир.ключники, мир.события); мир.движение = new Движение(мир.ключники); /**/мир.ограничитель = new Ограничитель(); + /**/мир.рт = new РучноеТело(мир.события); this.обновить(); }; this.обновить = function() { /**/мир.ограничитель.обновить(); + /**/мир.рт.обновить(); мир.физика.обновить(); мир.объекты.обновить(); мир.игрок.обновить(); diff --git a/index.html b/index.html index 16fe9ef..e8e35c6 100644 --- a/index.html +++ b/index.html @@ -80,6 +80,7 @@ +