From a0c9c00a1fe1468b9bebcb3ffb24eb04c936351e 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, 20 May 2021 14:46:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 1 - игра/100.структура.js | 7 +++++++ игра/108.группы.js | 6 ++---- игра/110.колобок.js | 4 +++- игра/111.изба.js | 27 +++++++++++++++++++++----- игра/112.подпол.js | 20 ++++++++++++++----- игра/208.группы.js | 31 ------------------------------ 7 files changed, 49 insertions(+), 47 deletions(-) delete mode 100644 игра/208.группы.js diff --git a/index.html b/index.html index 125f9f6..0f6cb44 100644 --- a/index.html +++ b/index.html @@ -34,7 +34,6 @@ - diff --git a/игра/100.структура.js b/игра/100.структура.js index aa4e835..e7f4289 100644 --- a/игра/100.структура.js +++ b/игра/100.структура.js @@ -12,6 +12,7 @@ function создатьУзлыСценыПоСтруктуре(структур delete свойства["y"]; delete свойства["texture"]; delete свойства["группы"]; + delete свойства["после"]; // Создаём узел. if (описание.тип == "изображение") @@ -51,5 +52,11 @@ function создатьУзлыСценыПоСтруктуре(структур { узел.refreshBody(); } + + // Выполняем дополнительные пользовательские действия. + if (описание.после) + { + описание.после(узел); + } } } diff --git a/игра/108.группы.js b/игра/108.группы.js index af5fd49..0ee1167 100644 --- a/игра/108.группы.js +++ b/игра/108.группы.js @@ -10,10 +10,8 @@ СоздатьГруппыСущностей = мир => { - мир.каркас = мир.сцена.physics.add.staticGroup({ immovable: true }); - //мир.каркас.setFrictionX(1); - мир.платформы = мир.сцена.physics.add.staticGroup({ immovable: true }); - //мир.платформы.setFrictionX(1); + мир.каркас = мир.сцена.physics.add.staticGroup(); + мир.платформы = мир.сцена.physics.add.staticGroup(); мир.вещи = мир.сцена.add.group(); мир.вещиНедвижимые = мир.сцена.add.group(); мир.враги = мир.сцена.physics.add.group({ allowGravity: false }); diff --git a/игра/110.колобок.js b/игра/110.колобок.js index b7d9f3e..7389860 100644 --- a/игра/110.колобок.js +++ b/игра/110.колобок.js @@ -92,11 +92,13 @@ мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи); мир.столкновениеВещи.collideCallback = function(a, вещь) { - if (мир.колобок.body.touching.down && вещь.body.touching.up && мир.колобок.прыжок) + var касание = мир.колобок.body.touching; + if (касание.down && вещь.body.touching.up && мир.колобок.прыжок) { мир.колобок.вещь = вещь.name; мир.уведомить("колобок прыгнул на вещь"); } + //if (мир.колобок.body.touching.down && (мир.колобок.body.touching.left || мир.коло }; var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги); diff --git a/игра/111.изба.js b/игра/111.изба.js index d7ab893..be79a9a 100644 --- a/игра/111.изба.js +++ b/игра/111.изба.js @@ -7,7 +7,6 @@ ЗагрузитьРесурсыИзбы = мир => { - const звуки = { "звук-избы": "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3", "звук-зарядки": "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav", @@ -49,6 +48,13 @@ ЗадатьСтруктуруИзбы = мир => { + function платформаПрыжков(узел) { + var ограничить = узел.body.checkCollision; + ограничить.down = false; + ограничить.left = false; + ограничить.right = false; + } + мир.изба = { фон: { родитель: мир.сцена, @@ -131,6 +137,7 @@ фундаментПечи: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 583, y: 473, texture: "основа", @@ -142,6 +149,7 @@ полка1: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 666, y: 335, texture: "основа", @@ -153,6 +161,7 @@ полкаМолока: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 771, y: 335, texture: "основа", @@ -164,6 +173,7 @@ полка3: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 862, y: 335, texture: "основа", @@ -175,6 +185,7 @@ полкаСамовара: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 995, y: 355, texture: "основа", @@ -186,6 +197,7 @@ лежанкаПечи: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 620, y: 245, texture: "основа", @@ -197,6 +209,7 @@ основаТрубыПечи: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 950, y: 180, texture: "основа", @@ -209,6 +222,7 @@ стол: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 1270, y: 427, texture: "основа", @@ -220,6 +234,7 @@ подоконник: { родитель: мир.платформы, тип: "платформа", + после: платформаПрыжков, x: 1690, y: 375, texture: "основа", @@ -257,8 +272,7 @@ родитель: мир.сцена.physics, тип: "спрайт", группы: [мир.вещи], - //x: 785, - x: 100, + x: 785, y: 240, texture: "молоко", scaleX: 0.4, @@ -279,7 +293,8 @@ родитель: мир.сцена.physics, тип: "спрайт", группы: [мир.вещи], - x: 1003, + //x: 1003, + x: 200, y: 200, texture: "самовар", scaleX: 0.25, @@ -466,6 +481,7 @@ // // // // +/* ПозволитьПлатформамПропускатьПрыжки = мир => { мир.платформы.children.iterate(function(платформа) { @@ -474,6 +490,7 @@ платформа.body.checkCollision.right = false; }); }; +*/ // // // // @@ -958,7 +975,7 @@ задать структуру избы задать функцию поиска узла по имени создать избу - позволить платформам пропускать прыжки +# позволить платформам пропускать прыжки настроить пауков настроить мышей настроить стрелы diff --git a/игра/112.подпол.js b/игра/112.подпол.js index 570c05d..2fa3d7e 100644 --- a/игра/112.подпол.js +++ b/игра/112.подпол.js @@ -59,17 +59,27 @@ }, лестница: { - родитель: мир.сцена.physics, - тип: "спрайт", - группы: [мир.вещи], + родитель: мир.сцена, + тип: "изображение", x: 100, - y: 580, + y: 590, texture: "лестница", originX: 0, originY: 0, scaleX: 0.3, scaleY: 0.4, - depth: 10, + }, + + ступенька1: { + родитель: мир.платформы, + тип: "платформа", + x: 125, + y: 980, + texture: "основа", + originX: 0, + originY: 0, + scaleX: 5, + visible: true, }, }; }; diff --git a/игра/208.группы.js b/игра/208.группы.js deleted file mode 100644 index 0b21408..0000000 --- a/игра/208.группы.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * Реакции - * - */ - - -// // // // - - -ЗадатьТрениеВещам = мир => -{ - мир.вещи.children.iterate(function(вещь) { - вещь.body.setFrictionX(1); - //вещь.body.setAccelerationX(0); - }); -}; - - -/* - * - * Последовательность - * - */ - - -мир.разобрать(` -создать сцену - задать трение вещам -`); -