@@ -50,6 +50,10 @@ | |||
{ | |||
var тело = мир.объекты.тела[имя]; | |||
var элемент = мир.объекты.элементы[имя]; | |||
if (!тело || !элемент) | |||
{ | |||
continue; | |||
} | |||
var засинхрили = мир.синхронизироватьЭлементТело(элемент, тело); | |||
// Учесть значения transform из JSON-JS. | |||
@@ -55,7 +55,6 @@ | |||
var пара = пары[номер]; | |||
var п1 = мир.объекты.имена[пара.bodyA.id]; | |||
var п2 = мир.объекты.имена[пара.bodyB.id]; | |||
if ( | |||
!((имя1 == п1) && (имя2 == п2)) && | |||
!((имя1 == п2) && (имя2 == п1)) | |||
@@ -30,7 +30,6 @@ function РучноеТело(события) { | |||
// 1. | |||
this.тело1 = Matter.Bodies.rectangle(125, 300, 40, 40, { isSensor: true }); | |||
//Matter.Composite.add(мир.физика.движок.world, this.тело1); | |||
this.элемент1 = document.createElement("div"); | |||
document.getElementById("корень").appendChild(this.элемент1); | |||
@@ -43,8 +42,7 @@ function РучноеТело(события) { | |||
this.элемент1.style.setProperty("z-index", "100"); | |||
// 2. | |||
this.тело2 = Matter.Bodies.rectangle(55, 300, 40, 40, {}); | |||
//Matter.Composite.add(мир.физика.движок.world, this.тело2); | |||
this.тело2 = Matter.Bodies.rectangle(55, 300, 40, 40, { inertia: Infinity }); | |||
this.элемент2 = document.createElement("div"); | |||
document.getElementById("корень").appendChild(this.элемент2); | |||
@@ -56,12 +54,25 @@ function РучноеТело(события) { | |||
this.элемент2.style.setProperty("background", "url(р/отладка/основа.jpg)"); | |||
this.элемент2.style.setProperty("z-index", "100"); | |||
/* | |||
Matter.Composite.add(мир.физика.движок.world, this.тело1); | |||
Matter.Composite.add(мир.физика.движок.world, this.тело2); | |||
мир.объекты.тела["рт"] = this.тело2; | |||
this.тело = this.тело2; | |||
*/ | |||
// Compound. | |||
this.тело = Matter.Body.create({ | |||
parts: [this.тело1, this.тело2], | |||
inertia: Infinity, | |||
}); | |||
Matter.Composite.add(мир.физика.движок.world, this.тело); | |||
мир.объекты.тела["рт"] = this.тело; | |||
мир.объекты.тела["рт1"] = this.тело1; | |||
мир.объекты.имена[this.тело1.id] = "рт1"; | |||
мир.объекты.тела["рт2"] = this.тело2; | |||
мир.объекты.имена[this.тело2.id] = "рт2"; | |||
}; | |||
this.обновить = function() | |||
@@ -115,48 +115,36 @@ | |||
inertia: Infinity, | |||
}, | |||
}, | |||
/* | |||
проверка: { | |||
x: 1270, | |||
y: 350, | |||
высота: 40, | |||
ширина: 40, | |||
вид: { | |||
background: "url(р/отладка/основа.jpg)", | |||
}, | |||
физика: { | |||
isStatic: false, | |||
inertia: Infinity, | |||
}, | |||
}, | |||
*/ | |||
}, | |||
игрок: { | |||
объект: "кирпич", | |||
объект: "рт", | |||
//объект: "кирпич", | |||
скорость: [5, 12.5], | |||
клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], | |||
}, | |||
/* | |||
слежение: { | |||
/* | |||
колобок: { | |||
объект: "кирпич", | |||
изображение: "колобок", | |||
смещение: [-35, -60], | |||
скорость: 1, | |||
}, | |||
*/ | |||
камера: { | |||
объект: "кирпич", | |||
объект: "рт", | |||
//объект: "кирпич", | |||
скорость: 0.1, | |||
}, | |||
}, | |||
маскиПрыжков: { | |||
игрок: { | |||
объект: "кирпич", | |||
объект: "рт", | |||
//объект: "кирпич", | |||
скорость: -1, | |||
маски: [1, 1|2], | |||
}, | |||
}, | |||
*/ | |||
звуки: { | |||
прыжокИгрока: { | |||
события: ["игрок начал прыжок"], | |||
@@ -459,7 +447,7 @@ function ПодкидываниеСтрелы() { | |||
function ОтладкаСобытий() { | |||
this.обработатьСобытие = function(событие) { | |||
if (событие == "игрокПаук1") | |||
if (событие.startsWith("игрокПаук")) | |||
{ | |||
console.debug("событие", событие); | |||
} | |||
@@ -497,6 +485,18 @@ console.debug("событие", событие); | |||
объекты: ["кирпич", "паук1"], | |||
событие: "игрокПаук1", | |||
}, | |||
проверкаСенсораИгрокаРТ: { | |||
объекты: ["рт", "паук1"], | |||
событие: "игрокПаукРТ", | |||
}, | |||
проверкаСенсораИгрокаРТ1: { | |||
объекты: ["рт1", "паук1"], | |||
событие: "игрокПаукРТ1", | |||
}, | |||
проверкаСенсораИгрокаРТ2: { | |||
объекты: ["рт2", "паук1"], | |||
событие: "игрокПаукРТ2", | |||
}, | |||
}, | |||
движение: { | |||
паук1: { | |||