From eebca591a114b1f1e296e4cd4f7164412a558d61 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: Wed, 12 May 2021 16:45:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B5=D0=BE=D1=87=D0=B5=D0=BD=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- игра/108.группы.js | 3 ++ игра/111.изба.js | 78 ++++++++++++++++++++++++++++-------- 2 files changed, 65 insertions(+), 16 deletions(-) diff --git a/игра/108.группы.js b/игра/108.группы.js index e0be101..0ee1167 100644 --- a/игра/108.группы.js +++ b/игра/108.группы.js @@ -13,6 +13,7 @@ мир.каркас = мир.сцена.physics.add.staticGroup(); мир.платформы = мир.сцена.physics.add.staticGroup(); мир.вещи = мир.сцена.add.group(); + мир.вещиНедвижимые = мир.сцена.add.group(); мир.враги = мир.сцена.physics.add.group({ allowGravity: false }); мир.стрелы = мир.сцена.physics.add.staticGroup(); }; @@ -25,6 +26,8 @@ { мир.сцена.physics.add.collider(мир.вещи, мир.каркас); мир.сцена.physics.add.collider(мир.вещи, мир.платформы); + мир.сцена.physics.add.collider(мир.вещиНедвижимые, мир.каркас); + мир.сцена.physics.add.collider(мир.вещиНедвижимые, мир.платформы); }; diff --git a/игра/111.изба.js b/игра/111.изба.js index c83c0c5..d822139 100644 --- a/игра/111.изба.js +++ b/игра/111.изба.js @@ -235,7 +235,7 @@ texture: "молоко", scaleX: 0.4, scaleY: 0.4, - depth: 5, + depth: 10, }, самовар: { родитель: мир.сцена.physics, @@ -735,10 +735,58 @@ // // // // - ВывестиИмяВещи = мир => - { - console.debug("прыгнули по", мир.колобок.вещь); - }; +ПроверитьДостаточностьПрыжкаПоМолоку = мир => +{ + if ( + (мир.колобок.вещь == "молоко") && + (мир.колобок.скоростьПадения >= 500) + ) { + мир.уведомить("достаточный прыжок по молоку"); + } +}; + + +// // // // + + +НачатьПереворотМолока = мир => +{ + мир.молоко = мир.узелСцены("молоко"); + мир.вещи.remove(мир.молоко); + мир.вещиНедвижимые.add(мир.молоко); + мир.молоко.setAngularVelocity(100); + мир.молоко.setVelocityY(-500); + мир.молоко.переворот = 1; +}; + + +// // // // + + +ОстановитьПереворотМолока = мир => +{ + if (!мир.молоко) + { + return; + } + + if (мир.молоко.переворт == 1) + { + setTimeout( + function() { + мир.молоко.переворот = 2; + }, + 100 + ); + } + else if ( + (мир.молоко.переворот == 2) && + (мир.молоко.body.touching.down) + ) { + мир.молоко.body.stop(); + мир.молоко = null; + } +}; /* @@ -760,21 +808,10 @@ настроить мышей настроить стрелы создать стрелу -# проверить столкновение с молоком -# -#колобок закончит прыжок -# подготовиться к столкновению с молоком - - -обновить сцену - анимировать пауков - анимировать мышей колобок начал прыжок отследить прыжок по стрелам колобок закончил прыжок проверить наличие прыжка по стрелам -колобок прыгнул на вещь - вывести имя вещи прыжок по платформе стрел подкидывать стрелу к луку стрела заряжена @@ -793,5 +830,14 @@ воспроизвести звук выломанного окна сразу после удара создать стрелу +колобок прыгнул на вещь + проверить достаточность прыжка по молоку +достаточный прыжок по молоку + начать переворот молока + +обновить сцену + анимировать пауков + анимировать мышей + остановить переворот молока `);