From d44c96e777a3d898313cd374f88d651b79506a45 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, 5 Oct 2021 14:44:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3.5/игра/180.Объекты.js | 48 ++++++++++--- doc/ru/bodies.html | 4 +- doc/ru/images.html | 4 +- doc/ru/item.template | 4 +- doc/ru/keys.html | 5 +- doc/ru/keys.md | 2 + doc/ru/objects.html | 111 +++++++++++++++++++++++++++++ doc/ru/objects.md | 19 +++++ doc/ru/title.html | 4 +- doc/ru/tracking.html | 4 +- 10 files changed, 184 insertions(+), 21 deletions(-) create mode 100644 doc/ru/objects.html create mode 100644 doc/ru/objects.md diff --git a/3.5/игра/180.Объекты.js b/3.5/игра/180.Объекты.js index 50882d0..546482a 100644 --- a/3.5/игра/180.Объекты.js +++ b/3.5/игра/180.Объекты.js @@ -13,10 +13,10 @@ function Объекты(события, состояние) { let имяИзо = `объекты-${имя}`; let за = this.задано[имя]; - let пр = this.умолчание.пр; + let пр = this.пр(имя); var описание = { - ширина: за["пр.2"] ? за["пр.2"] : пр[2], - высота: за["пр.3"] ? за["пр.3"] : пр[3], + ширина: пр[2], + высота: пр[3], вид: {}, }; for (var ключ in за) @@ -36,6 +36,21 @@ function Объекты(события, состояние) }); }; + this.обновитьСлежение = function(имя) + { + let имяС = `объекты-${имя}`; + let пр = this.пр(имя); + состояние.разобрать({ + слежение: { + [имяС]: { + изображение: имяС, + тело: имяС, + смещение: [-пр[2] / 2, -пр[3] / 2], + }, + }, + }); + }; + this.обработатьКлюч = function(ключ, путь, значение) { if (путь[0] != "объекты") @@ -55,6 +70,7 @@ function Объекты(события, состояние) if (пр) { this.пересоздатьТело(имя); + this.обновитьСлежение(имя); } this.обновитьИзображение(имя); }; @@ -62,20 +78,34 @@ function Объекты(события, состояние) this.пересоздатьТело = function(имя) { let имяТела = `объекты-${имя}`; - let за = this.задано[имя]; - let пр = this.умолчание.пр; + let пр = this.пр(имя); состояние.разобрать({ тела: { [имяТела]: { - x: за["пр.0"] ? за["пр.0"] : пр[0], - y: за["пр.1"] ? за["пр.1"] : пр[1], - ширина: за["пр.2"] ? за["пр.2"] : пр[2], - высота: за["пр.3"] ? за["пр.3"] : пр[3], + x: пр[0], + y: пр[1], + ширина: пр[2], + высота: пр[3], + физика: { + isStatic: false, + }, }, }, }); }; + this.пр = function(имя) + { + let за = this.задано[имя]; + let пр = this.умолчание.пр; + return [ + за["пр.0"] ? за["пр.0"] : пр[0], + за["пр.1"] ? за["пр.1"] : пр[1], + за["пр.2"] ? за["пр.2"] : пр[2], + за["пр.3"] ? за["пр.3"] : пр[3], + ]; + }; + // Конструктор. this.создать(); }; diff --git a/doc/ru/bodies.html b/doc/ru/bodies.html index 35194bb..03fab74 100644 --- a/doc/ru/bodies.html +++ b/doc/ru/bodies.html @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5 diff --git a/doc/ru/images.html b/doc/ru/images.html index 1b931a9..c63729d 100644 --- a/doc/ru/images.html +++ b/doc/ru/images.html @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5 diff --git a/doc/ru/item.template b/doc/ru/item.template index 452af00..12e9971 100644 --- a/doc/ru/item.template +++ b/doc/ru/item.template @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5 diff --git a/doc/ru/keys.html b/doc/ru/keys.html index 87dc859..b15d0c9 100644 --- a/doc/ru/keys.html +++ b/doc/ru/keys.html @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5 @@ -99,6 +99,7 @@
  1. заголовок
  2. изображения
  3. +
  4. объекты
  5. слежение
  6. тела
diff --git a/doc/ru/keys.md b/doc/ru/keys.md index 1742e98..a91f1d2 100644 --- a/doc/ru/keys.md +++ b/doc/ru/keys.md @@ -9,10 +9,12 @@ Lang: ru 1. [заголовок][title] 1. [изображения][images] +1. [объекты][objects] 1. [слежение][tracking] 1. [тела][bodies] [bodies]: bodies.html [images]: images.html +[objects]: objects.html [title]: title.html [tracking]: tracking.html diff --git a/doc/ru/objects.html b/doc/ru/objects.html new file mode 100644 index 0000000..bc79ebb --- /dev/null +++ b/doc/ru/objects.html @@ -0,0 +1,111 @@ + + + + + + + Документация МУРОМа-3.5 + + + + +
+

+объекты +

+
+
+
+

Добавление одного или нескольких объектов, которые представляют собой комбинацию изображения, тела и их синхронизацию через слежение.

+

+

Пример № 1. Отображение двух падающих на платформу пауков.

+ +

+ +
+ + + + diff --git a/doc/ru/objects.md b/doc/ru/objects.md new file mode 100644 index 0000000..de992d6 --- /dev/null +++ b/doc/ru/objects.md @@ -0,0 +1,19 @@ +Title: объекты +Date: 2021-10-05 00:00 +Category: Страница +Slug: objects +Lang: ru + +Добавление одного или нескольких объектов, которые представляют собой комбинацию [изображения][images], [тела][bodies] и их синхронизацию через [слежение][tracking]. + +
+ +Пример № 1. Отображение двух падающих на платформу пауков. + + + +
+ +[bodies]: bodies.html +[images]: images.html +[tracking]: tracking.html diff --git a/doc/ru/title.html b/doc/ru/title.html index 1ca950e..e6c2f70 100644 --- a/doc/ru/title.html +++ b/doc/ru/title.html @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5 diff --git a/doc/ru/tracking.html b/doc/ru/tracking.html index ff3dc31..de7b32e 100644 --- a/doc/ru/tracking.html +++ b/doc/ru/tracking.html @@ -78,12 +78,12 @@ } - Документация МУРОМа + Документация МУРОМа-3.5