61 lines
2.3 KiB
JavaScript
61 lines
2.3 KiB
JavaScript
function РучноеТело(события) {
|
||
this.создать = function() {
|
||
события.подписать(this);
|
||
};
|
||
|
||
this.обработатьСобытие = function(событие) {
|
||
if (событие != "игрок начал прыжок")
|
||
{
|
||
return;
|
||
}
|
||
события.отписать(this);
|
||
this.настроить();
|
||
};
|
||
|
||
this.настроить = function()
|
||
{
|
||
|
||
var физика = {
|
||
inertia: Infinity,
|
||
};
|
||
// 1.
|
||
this.тело1 = Matter.Bodies.rectangle(1200, 300, 40, 40, физика);
|
||
Matter.Composite.add(мир.физика.движок.world, this.тело1);
|
||
|
||
this.элемент1 = document.createElement("div");
|
||
document.getElementById("корень").appendChild(this.элемент1);
|
||
this.элемент1.style.position = "absolute";
|
||
this.элемент1.style.display = "block";
|
||
this.элемент1.style.transformOrigin = "center";
|
||
this.элемент1.style.width = `40px`;
|
||
this.элемент1.style.height = `40px`;
|
||
this.элемент1.style.setProperty("background", "url(р/отладка/основа.jpg)");
|
||
|
||
// 2.
|
||
this.тело2 = Matter.Bodies.rectangle(1150, 300, 40, 40, физика);
|
||
Matter.Composite.add(мир.физика.движок.world, this.тело2);
|
||
|
||
this.элемент2 = document.createElement("div");
|
||
document.getElementById("корень").appendChild(this.элемент2);
|
||
this.элемент2.style.position = "absolute";
|
||
this.элемент2.style.display = "block";
|
||
this.элемент2.style.transformOrigin = "center";
|
||
this.элемент2.style.width = `40px`;
|
||
this.элемент2.style.height = `40px`;
|
||
this.элемент2.style.setProperty("background", "url(р/отладка/основа.jpg)");
|
||
};
|
||
|
||
this.обновить = function()
|
||
{
|
||
if (!this.тело1)
|
||
{
|
||
return;
|
||
}
|
||
мир.синхронизироватьЭлементТело(this.элемент1, this.тело1);
|
||
мир.синхронизироватьЭлементТело(this.элемент2, this.тело2);
|
||
};
|
||
|
||
// Конструктор.
|
||
this.создать();
|
||
}
|