|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- function РучноеТело() {
- this.настроить = function()
- {
- 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.отладить = function()
- {
- console.debug("РТ.отладить. позиции тело/тело1/тело2:", this.тело.position, this.тело1.position, this.тело2.position);
- };
- }
|