From 66c2a1a0e0994508a178dd72cc3f60c16099cce4 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, 6 May 2021 15:21:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=B0=D1=80=D0=BA=D0=B0=D1=81=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- игра/111.изба.js | 133 +++++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 60 deletions(-) diff --git a/игра/111.изба.js b/игра/111.изба.js index 111784d..9f73701 100644 --- a/игра/111.изба.js +++ b/игра/111.изба.js @@ -34,14 +34,72 @@ { мир.изба = { фон: { - тип: "image", + родитель: мир.сцена, + тип: "изображение", x: 0, y: 0, texture: "изба", originX: 0, originY: 0, }, - } + + полДоКрышки: { + родитель: мир.каркас, + тип: "платформа", + x: 0, + y: 585, + texture: "основа", + originX: 0, + originY: 0, + scaleX: 43, + visible: false, + }, + полКрышки: { + родитель: мир.каркас, + тип: "платформа", + x: 300, + y: 585, + texture: "основа", + originX: 0, + originY: 0, + scaleX: 30, + visible: false, + }, + полПослеКрышки: { + родитель: мир.каркас, + тип: "платформа", + x: 510, + y: 585, + texture: "основа", + originX: 0, + originY: 0, + scaleX: 200, + visible: false, + }, + + леваяСтена: { + родитель: мир.каркас, + тип: "платформа", + x: 0, + y: 200, + texture: "основа", + originX: 0, + originY: 0, + scaleY: 50, + visible: false, + }, + праваяСтена: { + родитель: мир.каркас, + тип: "платформа", + x: 2000, + y: 200, + texture: "основа", + originX: 0, + originY: 0, + scaleY: 50, + visible: false, + }, + }; }; @@ -65,13 +123,16 @@ delete свойства["y"]; delete свойства["texture"]; - // Создаём изображение. - if (описание.тип == "image") + // Создаём узел. + if (описание.тип == "изображение") + { + узел = описание.родитель.add.image(описание.x, описание.y, описание.texture); + } + else if (описание.тип == "платформа") { - узел = сцена.add.image(описание.x, описание.y, описание.texture); + узел = описание.родитель.create(описание.x, описание.y, описание.texture); } - // Создаём спрайт. - else if (описание.тип == "sprite") + else if (описание.тип == "спрайт") { } @@ -86,6 +147,11 @@ // Необходимо после смены originX/Y. узел.updateDisplayOrigin(); + // Необходимо для статических физических объектов. + if ("refreshBody" in узел) + { + узел.refreshBody(); + } console.debug(имя, описание, узел); } @@ -114,58 +180,6 @@ // // // // -СоздатьПолыИСтеныКаркаса = мир => -{ - var полы = [ - { - x: 0, - y: 585, - ширина: 43, - }, - { - x: 300, - y: 585, - ширина: 30, - }, - { - x: 510, - y: 585, - ширина: 200, - }, - ]; - for (var номер in полы) - { - var пол = полы[номер]; - var элемент = мир.каркас.create(пол.x, пол.y, "основа").setOrigin(0, 0); - элемент.setScale(пол.ширина, 1).refreshBody(); - элемент.setVisible(false); - } - - var стены = [ - { - x: 0, - y: 385, - высота: 50, - }, - { - x: 2000, - y: 385, - высота: 50, - }, - ]; - for (var номер in стены) - { - var стена = стены[номер]; - var элемент = мир.каркас.create(стена.x, стена.y, "основа"); - элемент.setScale(1, стена.высота).refreshBody(); - элемент.setVisible(false); - } -}; - - -// // // // - - СоздатьПлатформы = мир => { var п = [ @@ -618,7 +632,6 @@ console.debug("стрела.x", мир.стрела.x); задать структуру избы создать избу по структуре создать избу - создать полы и стены каркаса создать платформы позволить платформам пропускать прыжки создать вещи