From 3995c1662c51655bbb41cbbe88dbbec7cb4e110e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Fri, 17 Sep 2021 15:03:46 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BD=D0=B0=D0=BB=20M-3.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- M/3.2/общее/100.События.js | 8 ++++---- .../120.Физика.js | 19 +++++++++++++++++++ .../700.Игра.js | 12 ++++++++++++ M/3.2/проигрыватель/index.html | 15 ++------------- M/3.2/редактор/index.html | 2 +- 5 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 M/3.2/проигрыватель/120.Физика.js diff --git a/M/3.2/общее/100.События.js b/M/3.2/общее/100.События.js index 7ba82e8..19f8ecf 100644 --- a/M/3.2/общее/100.События.js +++ b/M/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/M/3.2/проигрыватель/120.Физика.js b/M/3.2/проигрыватель/120.Физика.js new file mode 100644 index 0000000..4f8ccbb --- /dev/null +++ b/M/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/M/3.2/проигрыватель/700.Игра.js b/M/3.2/проигрыватель/700.Игра.js index 6f00841..ba58beb 100644 --- a/M/3.2/проигрыватель/700.Игра.js +++ b/M/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/M/3.2/проигрыватель/index.html b/M/3.2/проигрыватель/index.html index 881bb87..d1cd8c2 100644 --- a/M/3.2/проигрыватель/index.html +++ b/M/3.2/проигрыватель/index.html @@ -6,18 +6,6 @@