перед обработкой нажатия мыши

This commit is contained in:
2021-10-18 15:19:47 +03:00
parent b80f2cb346
commit a8409d547c
2 changed files with 29 additions and 7 deletions

View File

@@ -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 (!тип || !игрок || !цель || тип != "указать и нажать")
{
this.задано[имя] = {};
return;
}
/**/console.debug("ИГР Сцена.обработатьНМУИН задать цель и начать движение");
};
this.обработатьСобытие = function(событие)
{
let префикс = "мышь/нажатие/";
if (событие.startsWith(префикс))
{
let значения = событие.substring(префикс.length).split("/");
let x = Number(значения[0]);
let y = Number(значения[1]);
let указатель = значения[2];
this.обработатьНажатиеМышиУказатьИНажать(x, y, указатель);
}
this.задано[имя][свойство] = значение;
};
// Конструктор.

View File

@@ -18,7 +18,7 @@ function Игра()
мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world);
мир.слежение = new Слежение(мир.состояние, мир.изображения, мир.тела);
мир.объекты = new Объекты(мир.состояние);
мир.сцена = new Сцена();
мир.сцена = new Сцена(мир.события);
мир.мышь = new Мышь(мир.события);
this.ключники = [
new Заголовок(),