@@ -1,9 +1,9 @@ | |||||
function События() | function События() | ||||
{ | { | ||||
this.создать = function() | |||||
{ | |||||
this.создать = function() | |||||
{ | |||||
this.обработчики = []; | this.обработчики = []; | ||||
}; | |||||
}; | |||||
this.подписать = function(обработчик) | this.подписать = function(обработчик) | ||||
{ | { | ||||
@@ -25,7 +25,7 @@ function События() | |||||
обработчик.обработатьСобытие(событие); | обработчик.обработатьСобытие(событие); | ||||
} | } | ||||
}; | }; | ||||
// Конструктор. | // Конструктор. | ||||
this.создать(); | this.создать(); | ||||
} | } |
@@ -0,0 +1,19 @@ | |||||
function Физика() | |||||
{ | |||||
this.создать = function() | |||||
{ | |||||
this.движок = Matter.Engine.create({ | |||||
enableSleeping: true, | |||||
gravity: { | |||||
y: 2, | |||||
}, | |||||
}); | |||||
}; | |||||
this.обновить = function() { | |||||
Matter.Engine.update(this.движок); | |||||
}; | |||||
// Конструктор. | |||||
this.создать(); | |||||
} |
@@ -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.ключники) | ||||
@@ -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 Игра(); | ||||
@@ -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> | ||||