From 4847c4355ea57459b25e013d4411f5a5578dc338 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, 13 Jul 2021 14:46:03 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BB=D0=B5=D0=B4=D0=B8=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 220.игрок.js | 12 +++++----- 240.слежение.js | 51 ++++++++++++++++++---------------------- 700.пуск.js | 2 +- 800.пример.json.js | 6 +++-- 4 files changed, 34 insertions(+), 37 deletions(-) diff --git a/220.игрок.js b/220.игрок.js index 3581d92..7c0124a 100644 --- a/220.игрок.js +++ b/220.игрок.js @@ -1,8 +1,8 @@ мир.игрок = { задано: {}, обновить: function() { - переместитьИгрока(); - задатьИгрокуМаскуСтолкновения(); + мир.игрок.переместить(); + мир.игрок.задатьМаскуСтолкновения(); }, }; @@ -24,7 +24,7 @@ // // // // -function переместитьИгрока() +мир.игрок.переместить = function() { var тело = мир.объекты.тела[мир.игрок.задано.объект]; if (!тело) @@ -56,13 +56,13 @@ function переместитьИгрока() Matter.Sleeping.set(тело, false); Matter.Body.setVelocity(тело, { x: скоростьX, y: скоростьY }); -} +}; // // // // -function задатьИгрокуМаскуСтолкновения() +мир.игрок.задатьМаскуСтолкновения = function() { var тело = мир.объекты.тела[мир.игрок.задано.объект]; if (!тело) @@ -73,4 +73,4 @@ function задатьИгрокуМаскуСтолкновения() var прыжок = тело.velocity.y < -1; var маска = прыжок ? 1 : (1 | 2); тело.collisionFilter.mask = маска; -} +}; diff --git a/240.слежение.js b/240.слежение.js index 2e7efe2..14e2552 100644 --- a/240.слежение.js +++ b/240.слежение.js @@ -1,10 +1,9 @@ -мир.слежения = { +мир.слежение = { умолчание: { смещение: [0, 0], скорость: 1, }, задано: {}, - обновить: обновитьСлежения, }; @@ -12,7 +11,7 @@ мир.ключники.push(function(ключ, путь, значение){ - if (!путь[0].startsWith("слежения")) + if (!путь[0].startsWith("слежение")) { return; } @@ -20,27 +19,24 @@ var имя = путь[1]; var свойство = путь.slice(2).join("."); - if (!мир.слежения.задано[имя]) + if (!мир.слежение.задано[имя]) { - мир.слежения.задано[имя] = {}; + мир.слежение.задано[имя] = {}; } - мир.слежения.задано[имя][свойство] = значение; -console.debug("слежения.задано имя/свойство", имя, свойство); + мир.слежение.задано[имя][свойство] = значение; }); // // // // -function обновитьСлежения() +мир.слежение.обновить = function() { -console.debug("обновитьСлежения"); - var за = мир.слежения.задано; - var ум = мир.слежения.умолчание; + var за = мир.слежение.задано; + var ум = мир.слежение.умолчание; for (var имя in за) { -console.debug("обновитьСлежения. имя:", имя); var эл = null; if (имя == "камера") { @@ -48,7 +44,7 @@ console.debug("обновитьСлежения. имя:", имя); } else { - эл = элементСлежения(за[имя]); + эл = мир.слежение.элемент(за[имя]); } var тело = null; var имяТела = за[имя]["объект"]; @@ -56,15 +52,15 @@ console.debug("обновитьСлежения. имя:", имя); { тело = мир.объекты.тела[имяТела]; } - обновитьЭлемент(эл, тело, за[имя], ум); + мир.слежение.обновитьЭлемент(эл, тело, за[имя], ум); } -} +}; // // // // -function элементСлежения(задано) +мир.слежение.элемент = function(задано) { var id = null; var изображение = задано["изображение"]; @@ -72,25 +68,22 @@ function элементСлежения(задано) { id = мир.изображения.элементы[изображение].id; } - var эл = document.getElementById(id); -console.debug("элементСлежения. эл:", эл); - return эл; -} + return document.getElementById(id); +}; // // // // -function обновитьЭлемент(элемент, тело, задано, умолчание) +мир.слежение.обновитьЭлемент = function(элемент, тело, задано, умолчание) { - if (!элемент || !тело || !умолчание) + if (!элемент || !тело) { return; } -console.debug("обновитьЭлемент. элемент:", элемент, "тело:", тело, "за:", задано, "ум:", умолчание); var скорость = задано.скорость ? задано.скорость : умолчание.скорость; - var смещениеX = задано.смещение ? задано.смещение[0] : умолание.смещение[0]; - var смещениеY = задано.смещение ? задано.смещение[1] : умолание.смещение[1]; + var смещениеX = задано["смещение.0"] ? задано["смещение.0"] : умолчание.смещение[0]; + var смещениеY = задано["смещение.1"] ? задано["смещение.1"] : умолчание.смещение[1]; // Сейчас. var x0 = 0; @@ -115,14 +108,15 @@ console.debug("обновитьЭлемент. элемент:", элемент, var x = lerp(x0, x1, скорость); var y = lerp(y0, y1, скорость); - корень.style.left = `${x}px`; - корень.style.top = `${y}px`; -} + элемент.style.left = `${x}px`; + элемент.style.top = `${y}px`; +}; // // // // +/* function обновитьКамеру() { var объект = мир.камера.задано.объект; @@ -158,3 +152,4 @@ function обновитьКамеру() корень.style.left = `${x}px`; корень.style.top = `${y}px`; } +*/ diff --git a/700.пуск.js b/700.пуск.js index 63a8cc7..aa1bbe1 100644 --- a/700.пуск.js +++ b/700.пуск.js @@ -3,7 +3,7 @@ мир.физика.обновить(); мир.объекты.обновить(); мир.игрок.обновить(); - //мир.слежения.обновить(); + мир.слежение.обновить(); requestAnimationFrame(мир.обновить); }; diff --git a/800.пример.json.js b/800.пример.json.js index 7fcb349..ec4eb57 100644 --- a/800.пример.json.js +++ b/800.пример.json.js @@ -5,7 +5,7 @@ ширина: 2000, высота: 600, вид: { - //background: "url(р/сцены/изба.jpg)", + background: "url(р/сцены/изба.jpg)", }, }, колобок: { @@ -23,9 +23,11 @@ кирпич: { x: 1170, y: 350, + высота: 10, ширина: 70, вид: { background: "url(р/отладка/основа.jpg)", + display: "none", }, физика: { isStatic: false, @@ -110,7 +112,7 @@ колобок: { объект: "кирпич", изображение: "колобок", - смещение: [0, 0], + смещение: [-35, -65], скорость: 1, }, /*