Browse Source

ручное тело

master
parent
commit
a25bd81dbc
3 changed files with 49 additions and 0 deletions
  1. +46
    -0
      667.ручноетело.js
  2. +2
    -0
      700.пуск.js
  3. +1
    -0
      index.html

+ 46
- 0
667.ручноетело.js View File

@@ -0,0 +1,46 @@
function РучноеТело(события) {
this.создать = function() {
события.подписать(this);
};

this.обработатьСобытие = function(событие) {
if (событие != "игрок начал прыжок")
{
return;
}
события.отписать(this);
this.настроить();
};

this.настроить = function()
{

var физика = {
inertia: Infinity,
};
this.тело = Matter.Bodies.rectangle(1200, 300, 40, 40, физика);
Matter.Composite.add(мир.физика.движок.world, this.тело);

this.элемент = document.createElement("div");
document.getElementById("корень").appendChild(this.элемент);
this.элемент.id = `рт`;
this.элемент.style.position = "absolute";
this.элемент.style.display = "block";
this.элемент.style.transformOrigin = "center";
this.элемент.style.width = `40px`;
this.элемент.style.height = `40px`;
this.элемент.style.setProperty("background", "url(р/отладка/основа.jpg)");
};

this.обновить = function()
{
if (!this.тело)
{
return;
}
мир.синхронизироватьЭлементТело(this.элемент, this.тело);
};

// Конструктор.
this.создать();
}

+ 2
- 0
700.пуск.js View File

@@ -7,12 +7,14 @@ function Пуск()
мир.звуки = new Звуки(мир.ключники, мир.события);
мир.движение = new Движение(мир.ключники);
/**/мир.ограничитель = new Ограничитель();
/**/мир.рт = new РучноеТело(мир.события);
this.обновить();
};

this.обновить = function()
{
/**/мир.ограничитель.обновить();
/**/мир.рт.обновить();
мир.физика.обновить();
мир.объекты.обновить();
мир.игрок.обновить();


+ 1
- 0
index.html View File

@@ -80,6 +80,7 @@
<script src="380.звуки.js"></script>
<script src="400.столкновения.js"></script>
<script src="666.ограничитель.js"></script>
<script src="667.ручноетело.js"></script>
<script src="700.пуск.js"></script>
</body>
</html>

Loading…
Cancel
Save