ручное тело
This commit is contained in:
46
667.ручноетело.js
Normal file
46
667.ручноетело.js
Normal 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.создать();
|
||||||
|
}
|
||||||
@@ -7,12 +7,14 @@ function Пуск()
|
|||||||
мир.звуки = new Звуки(мир.ключники, мир.события);
|
мир.звуки = new Звуки(мир.ключники, мир.события);
|
||||||
мир.движение = new Движение(мир.ключники);
|
мир.движение = new Движение(мир.ключники);
|
||||||
/**/мир.ограничитель = new Ограничитель();
|
/**/мир.ограничитель = new Ограничитель();
|
||||||
|
/**/мир.рт = new РучноеТело(мир.события);
|
||||||
this.обновить();
|
this.обновить();
|
||||||
};
|
};
|
||||||
|
|
||||||
this.обновить = function()
|
this.обновить = function()
|
||||||
{
|
{
|
||||||
/**/мир.ограничитель.обновить();
|
/**/мир.ограничитель.обновить();
|
||||||
|
/**/мир.рт.обновить();
|
||||||
мир.физика.обновить();
|
мир.физика.обновить();
|
||||||
мир.объекты.обновить();
|
мир.объекты.обновить();
|
||||||
мир.игрок.обновить();
|
мир.игрок.обновить();
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<script src="380.звуки.js"></script>
|
<script src="380.звуки.js"></script>
|
||||||
<script src="400.столкновения.js"></script>
|
<script src="400.столкновения.js"></script>
|
||||||
<script src="666.ограничитель.js"></script>
|
<script src="666.ограничитель.js"></script>
|
||||||
|
<script src="667.ручноетело.js"></script>
|
||||||
<script src="700.пуск.js"></script>
|
<script src="700.пуск.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user