function РучноеТело(события) { this.создать = function() { //события.подписать(this); }; /* this.обработатьСобытие = function(событие) { if (событие != "игрок начал прыжок") { return; } события.отписать(this); this.настроить(); }; */ this.настроить = function() { /* if (!мир.физика.движок) { return; } */ if (this.настроено) { return; } this.настроено = true; // 1. this.тело1 = Matter.Bodies.rectangle(125, 300, 40, 40, { isSensor: true }); 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)"); this.элемент1.style.setProperty("z-index", "100"); // 2. this.тело2 = Matter.Bodies.rectangle(55, 300, 40, 40, { inertia: Infinity }); 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.элемент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() { this.настроить(); if (!this.тело) { return; } мир.синхронизироватьЭлементТело(this.элемент1, this.тело1); мир.синхронизироватьЭлементТело(this.элемент2, this.тело2); }; // Конструктор. this.создать(); }