diff --git a/4.1/игра/200.Сцена.js b/4.1/игра/200.Сцена.js index 91b3b2d..727bc18 100644 --- a/4.1/игра/200.Сцена.js +++ b/4.1/игра/200.Сцена.js @@ -1,4 +1,4 @@ -function Сцена(состояние, события, тела) +function Сцена(состояние, события, тела, адресИгры) { this.создать = function() { @@ -10,6 +10,12 @@ function Сцена(состояние, события, тела) события.подписать(this); }; + this.загрузитьСцену = function(имя) + { + let z64 = this.сцены[имя]; + window.location = адресИгры + z64; + }; + this.загрузитьОглавление = function(адрес) { var тут = this; @@ -87,15 +93,21 @@ function Сцена(состояние, события, тела) this.обработатьСобытие = function(событие) { - let префикс = "мышь/нажатие/"; - if (событие.startsWith(префикс)) + let мышь = "мышь/нажатие/"; + let сцена = "сцена/"; + if (событие.startsWith(мышь)) { - let значения = событие.substring(префикс.length).split("/"); + let значения = событие.substring(мышь.length).split("/"); let x = Number(значения[0]); let y = Number(значения[1]); let указатель = значения[2]; this.обработатьНажатиеМышиУказатьИНажать(x, y, указатель); } + else if (событие.startsWith(сцена)) + { + let название = событие.substring(сцена.length); + this.загрузитьСцену(название); + } }; this.переместитьИгрока = function() diff --git a/4.1/игра/700.Игра.js b/4.1/игра/700.Игра.js index cbbd686..b58fc9e 100644 --- a/4.1/игра/700.Игра.js +++ b/4.1/игра/700.Игра.js @@ -18,7 +18,8 @@ function Игра() мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world); мир.слежение = new Слежение(мир.состояние, мир.изображения, мир.тела); мир.объекты = new Объекты(мир.состояние); - мир.сцена = new Сцена(мир.состояние, мир.события, мир.тела); + let адресИгры = window.location.pathname + "/../игра.html?z64="; + мир.сцена = new Сцена(мир.состояние, мир.события, мир.тела, адресИгры); мир.мышь = new Мышь(мир.события); мир.столкновения = new Столкновения(мир.события, мир.тела, мир.физдвижок); this.ключники = [