diff --git a/3.2/общее/100.События.js b/3.2/общее/100.События.js
index 7ba82e8..19f8ecf 100644
--- a/3.2/общее/100.События.js
+++ b/3.2/общее/100.События.js
@@ -1,9 +1,9 @@
function События()
{
- this.создать = function()
- {
+ this.создать = function()
+ {
this.обработчики = [];
- };
+ };
this.подписать = function(обработчик)
{
@@ -25,7 +25,7 @@ function События()
обработчик.обработатьСобытие(событие);
}
};
-
+
// Конструктор.
this.создать();
}
diff --git a/3.2/проигрыватель/120.Физика.js b/3.2/проигрыватель/120.Физика.js
new file mode 100644
index 0000000..4f8ccbb
--- /dev/null
+++ b/3.2/проигрыватель/120.Физика.js
@@ -0,0 +1,19 @@
+function Физика()
+{
+ this.создать = function()
+ {
+ this.движок = Matter.Engine.create({
+ enableSleeping: true,
+ gravity: {
+ y: 2,
+ },
+ });
+ };
+
+ this.обновить = function() {
+ Matter.Engine.update(this.движок);
+ };
+
+ // Конструктор.
+ this.создать();
+}
diff --git a/3.2/проигрыватель/700.Игра.js b/3.2/проигрыватель/700.Игра.js
index 6f00841..ba58beb 100644
--- a/3.2/проигрыватель/700.Игра.js
+++ b/3.2/проигрыватель/700.Игра.js
@@ -10,10 +10,12 @@ function Игра()
new Заголовок(),
new Изображения(корень),
];
+ мир.физика = new Физика();
var z64 = мир.параметрыЗапуска()["z64"];
this.исполнитьКод(z64);
this.отслеживатьОбновленияКода();
+ this.обновить();
};
this.исполнитьКод = function(z64)
@@ -25,6 +27,16 @@ function Игра()
}
};
+ this.обновить = function()
+ {
+ мир.физика.обновить();
+
+ var тут = this;
+ requestAnimationFrame(function() {
+ тут.обновить();
+ });
+ };
+
this.обработатьКлюч = function(ключ, путь, значение)
{
for (var номер in this.ключники)
diff --git a/3.2/проигрыватель/index.html b/3.2/проигрыватель/index.html
index 881bb87..7f533bb 100644
--- a/3.2/проигрыватель/index.html
+++ b/3.2/проигрыватель/index.html
@@ -34,6 +34,7 @@
+