@@ -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.создать(); | ||||
} | } | ||||
@@ -1,27 +1,6 @@ | |||||
function РучноеТело(события) { | |||||
this.создать = function() { | |||||
//события.подписать(this); | |||||
}; | |||||
/* | |||||
this.обработатьСобытие = function(событие) { | |||||
if (событие != "игрок начал прыжок") | |||||
{ | |||||
return; | |||||
} | |||||
события.отписать(this); | |||||
this.настроить(); | |||||
}; | |||||
*/ | |||||
function РучноеТело() { | |||||
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.создать(); | |||||
this.отладить = function() | |||||
{ | |||||
console.debug("РТ.отладить. позиции тело/тело1/тело2:", this.тело.position, this.тело1.position, this.тело2.position); | |||||
}; | |||||
} | } |
@@ -12,6 +12,8 @@ function Пуск() | |||||
мир.звуки = new Звуки(мир.ключники, мир.события); | мир.звуки = new Звуки(мир.ключники, мир.события); | ||||
мир.движение = new Движение(мир.ключники); | мир.движение = new Движение(мир.ключники); | ||||
/**/мир.рт = new РучноеТело(); | |||||
this.настроитьОбработкуКлючей(); | this.настроитьОбработкуКлючей(); | ||||
this.обновить(); | this.обновить(); | ||||
}; | }; | ||||
@@ -46,6 +48,8 @@ function Пуск() | |||||
requestAnimationFrame(function() { | requestAnimationFrame(function() { | ||||
тут.обновить(); | тут.обновить(); | ||||
}); | }); | ||||
/**/мир.рт.обновить(); | |||||
}; | }; | ||||
} | } | ||||
@@ -196,8 +196,9 @@ | |||||
скорость: 0.1, | скорость: 0.1, | ||||
}, | }, | ||||
сенсорИгрока: { | сенсорИгрока: { | ||||
тело: "игрок", | |||||
тело: "сенсорИгрока", | |||||
изображение: "изоСенсорИгрока", | изображение: "изоСенсорИгрока", | ||||
смещение: [-35, 35], | |||||
}, | }, | ||||
}, | }, | ||||
маскиПрыжков: { | маскиПрыжков: { | ||||