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.создать(); };