исправление

This commit is contained in:
2021-08-20 17:21:57 +03:00
parent 859c6f3f06
commit 9843675335
4 changed files with 37 additions and 27 deletions

View File

@@ -67,9 +67,9 @@ function Тела(физмир)
var тело = null; var тело = null;
// Создаём новое составное тело. // Создаём новое составное тело.
if (за.части) if (за["части.0"])
{ {
параметры["parts"] = this.телаЧастей(за.части); параметры["parts"] = this.телаЧастей(this.именаЧастей(за));
тело = Matter.Body.create(параметры); тело = Matter.Body.create(параметры);
} }
// Создаём новое несоставное тело. // Создаём новое несоставное тело.
@@ -88,6 +88,19 @@ function Тела(физмир)
} }
}; };
this.именаЧастей = function(за)
{
var имена = [];
for (var ключ in за)
{
if (ключ.startsWith("части"))
{
имена.push(за[ключ]);
}
}
return имена;
};
this.телаЧастей = function(имена) this.телаЧастей = function(имена)
{ {
var тела = []; var тела = [];
@@ -100,6 +113,17 @@ function Тела(физмир)
return тела; return тела;
}; };
this.отладить = function()
{
console.debug("Тела.отладить. НАЧАЛО");
for (var имя in this.тела)
{
var тело = this.тела[имя];
console.debug("тело имя/id/позиция:", имя, тело.id, тело.position);
}
console.debug("Тела.отладить. КОНЕЦ");
};
// Конструктор. // Конструктор.
this.создать(); this.создать();
} }

View File

@@ -1,27 +1,6 @@
function РучноеТело(события) { function РучноеТело() {
this.создать = function() {
//события.подписать(this);
};
/*
this.обработатьСобытие = function(событие) {
if (событие != "игрок начал прыжок")
{
return;
}
события.отписать(this);
this.настроить();
};
*/
this.настроить = function() this.настроить = function()
{ {
/*
if (!мир.физика.движок)
{
return;
}
*/
if (this.настроено) if (this.настроено)
{ {
return; return;
@@ -86,6 +65,8 @@ function РучноеТело(события) {
мир.синхронизироватьЭлементТело(this.элемент2, this.тело2); мир.синхронизироватьЭлементТело(this.элемент2, this.тело2);
}; };
// Конструктор. this.отладить = function()
this.создать(); {
console.debug("РТ.отладить. позиции тело/тело1/тело2:", this.тело.position, this.тело1.position, this.тело2.position);
};
} }

View File

@@ -12,6 +12,8 @@ function Пуск()
мир.звуки = new Звуки(мир.ключники, мир.события); мир.звуки = new Звуки(мир.ключники, мир.события);
мир.движение = new Движение(мир.ключники); мир.движение = new Движение(мир.ключники);
/**/мир.рт = new РучноеТело();
this.настроитьОбработкуКлючей(); this.настроитьОбработкуКлючей();
this.обновить(); this.обновить();
}; };
@@ -46,6 +48,8 @@ function Пуск()
requestAnimationFrame(function() { requestAnimationFrame(function() {
тут.обновить(); тут.обновить();
}); });
/**/мир.рт.обновить();
}; };
} }

View File

@@ -196,8 +196,9 @@
скорость: 0.1, скорость: 0.1,
}, },
сенсорИгрока: { сенсорИгрока: {
тело: "игрок", тело: "сенсорИгрока",
изображение: "изоСенсорИгрока", изображение: "изоСенсорИгрока",
смещение: [-35, 35],
}, },
}, },
маскиПрыжков: { маскиПрыжков: {