финал M-3.2

This commit is contained in:
2021-09-17 15:03:46 +03:00
parent 6a118d3551
commit 3995c1662c
5 changed files with 38 additions and 18 deletions

View File

@@ -1,9 +1,9 @@
function События() function События()
{ {
this.создать = function() this.создать = function()
{ {
this.обработчики = []; this.обработчики = [];
}; };
this.подписать = function(обработчик) this.подписать = function(обработчик)
{ {
@@ -25,7 +25,7 @@ function События()
обработчик.обработатьСобытие(событие); обработчик.обработатьСобытие(событие);
} }
}; };
// Конструктор. // Конструктор.
this.создать(); this.создать();
} }

View File

@@ -0,0 +1,19 @@
function Физика()
{
this.создать = function()
{
this.движок = Matter.Engine.create({
enableSleeping: true,
gravity: {
y: 2,
},
});
};
this.обновить = function() {
Matter.Engine.update(this.движок);
};
// Конструктор.
this.создать();
}

View File

@@ -10,10 +10,12 @@ function Игра()
new Заголовок(), new Заголовок(),
new Изображения(корень), new Изображения(корень),
]; ];
мир.физика = new Физика();
var z64 = мир.параметрыЗапуска()["z64"]; var z64 = мир.параметрыЗапуска()["z64"];
this.исполнитьКод(z64); this.исполнитьКод(z64);
this.отслеживатьОбновленияКода(); this.отслеживатьОбновленияКода();
this.обновить();
}; };
this.исполнитьКод = function(z64) this.исполнитьКод = function(z64)
@@ -25,6 +27,16 @@ function Игра()
} }
}; };
this.обновить = function()
{
мир.физика.обновить();
var тут = this;
requestAnimationFrame(function() {
тут.обновить();
});
};
this.обработатьКлюч = function(ключ, путь, значение) this.обработатьКлюч = function(ключ, путь, значение)
{ {
for (var номер in this.ключники) for (var номер in this.ключники)

View File

@@ -6,18 +6,6 @@
<script src="../общее/pako/pako.min.js"></script> <script src="../общее/pako/pako.min.js"></script>
<script src="matter-js/matter.min.js"></script> <script src="matter-js/matter.min.js"></script>
<style> <style>
/*
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}
body {
height: 100vh;
width: 100vw;
}
*/
#корень #корень
{ {
position: relative; position: relative;
@@ -28,12 +16,13 @@
<div id="заставка"></div> <div id="заставка"></div>
<div id="корень"></div> <div id="корень"></div>
<div id="отладка"></div> <div id="отладка"></div>
<script src="../общее/100.События.js"></script> <script src="../общее/100.События.js"></script>
<script src="../общее/150.Состояние.js"></script> <script src="../общее/150.Состояние.js"></script>
<script src="../общее/200.функции.js"></script> <script src="../общее/200.функции.js"></script>
<script src="050.Заголовок.js"></script> <script src="050.Заголовок.js"></script>
<script src="100.Изображения.js"></script> <script src="100.Изображения.js"></script>
<script src="120.Физика.js"></script>
<script src="700.Игра.js"></script> <script src="700.Игра.js"></script>
<script> <script>
var игра = new Игра(); var игра = new Игра();

View File

@@ -63,7 +63,7 @@
<tbody> <tbody>
<tr> <tr>
<td>3.2</td> <td>3.2</td>
<td>Заголовок...? раз два три четыре пять шесть семь восемь девять десять</td> <td>мир.параметрыЗапуска, мир.разобрать, заголовок, изображения, состояние, физика</td>
</tr> </tr>
<tr> <tr>
<td><a href="../../3.1/редактор/index.html">3.1</a></td> <td><a href="../../3.1/редактор/index.html">3.1</a></td>