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