From a8409d547cb64b230a6a6e7cadcf1ed0bf062f87 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, 18 Oct 2021 15:19:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=BE=D0=B9=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6=D0=B0=D1=82=D0=B8=D1=8F=20=D0=BC=D1=8B=D1=88=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4.0/игра/200.Сцена.js | 34 ++++++++++++++++++++++++++++------ 4.0/игра/700.Игра.js | 2 +- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/4.0/игра/200.Сцена.js b/4.0/игра/200.Сцена.js index b147465..8152e25 100644 --- a/4.0/игра/200.Сцена.js +++ b/4.0/игра/200.Сцена.js @@ -1,4 +1,4 @@ -function Сцена() +function Сцена(события) { this.создать = function() { @@ -6,6 +6,7 @@ function Сцена() скорость: [1, 1], }; this.задано = {}; + события.подписать(this); }; this.обработатьКлюч = function(ключ, путь, значение) @@ -15,13 +16,34 @@ function Сцена() return; } - var имя = путь[1]; - var свойство = путь.slice(2).join("."); - if (!this.задано[имя]) + var свойство = путь.slice(1).join("."); + this.задано[свойство] = значение; + }; + + this.обработатьНажатиеМышиУказатьИНажать = function(x, y, указатель) + { + var тип = this.задано["тип"]; + var игрок = this.задано["игрок"]; + var цель = this.задано["цель"]; + if (!тип || !игрок || !цель || тип != "указать и нажать") + { + return; + } + +/**/console.debug("ИГР Сцена.обработатьНМУИН задать цель и начать движение"); + }; + + this.обработатьСобытие = function(событие) + { + let префикс = "мышь/нажатие/"; + if (событие.startsWith(префикс)) { - this.задано[имя] = {}; + let значения = событие.substring(префикс.length).split("/"); + let x = Number(значения[0]); + let y = Number(значения[1]); + let указатель = значения[2]; + this.обработатьНажатиеМышиУказатьИНажать(x, y, указатель); } - this.задано[имя][свойство] = значение; }; // Конструктор. diff --git a/4.0/игра/700.Игра.js b/4.0/игра/700.Игра.js index b70abf8..8e07e0f 100644 --- a/4.0/игра/700.Игра.js +++ b/4.0/игра/700.Игра.js @@ -18,7 +18,7 @@ function Игра() мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world); мир.слежение = new Слежение(мир.состояние, мир.изображения, мир.тела); мир.объекты = new Объекты(мир.состояние); - мир.сцена = new Сцена(); + мир.сцена = new Сцена(мир.события); мир.мышь = new Мышь(мир.события); this.ключники = [ new Заголовок(),