From 2645c365e4f51d2f3a89332994ebaf715835b819 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: Thu, 21 Oct 2021 14:46:53 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=B1=D0=B8=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D0=B3=D0=BB=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4.1/игра/200.Сцена.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/4.1/игра/200.Сцена.js b/4.1/игра/200.Сцена.js index da2a84d..91b3b2d 100644 --- a/4.1/игра/200.Сцена.js +++ b/4.1/игра/200.Сцена.js @@ -6,9 +6,32 @@ function Сцена(состояние, события, тела) скорость: [1, 1], }; this.задано = {}; + this.сцены = null; события.подписать(this); }; + this.загрузитьОглавление = function(адрес) + { + var тут = this; + var запрос = new XMLHttpRequest(); + запрос.onreadystatechange = function() + { + if (this.readyState == 4) + { + if (this.status == 200) + { + тут.разобратьОглавление(this.responseText); + } + else + { + console.error("Не удалось загрузить оглавление сцен:", this.status); + } + } + } + запрос.open("GET", адрес); + запрос.send(); + }; + this.обновить = function() { this.переместитьИгрока(); @@ -23,6 +46,10 @@ function Сцена(состояние, события, тела) var свойство = путь.slice(1).join("."); this.задано[свойство] = значение; + if (свойство == "оглавление") + { + this.загрузитьОглавление(значение); + } }; this.обработатьНажатиеМышиУказатьИНажать = function(x, y, указатель) @@ -104,6 +131,12 @@ function Сцена(состояние, события, тела) Matter.Body.setVelocity(телоИгрока, { x: скоростьX * направление, y: 0 }); }; + this.разобратьОглавление = function(содержимое) + { + let код = "this.сцены = " + содержимое; + eval(код); + }; + // Конструктор. this.создать(); };