From 4e37d556501afb375020c40a5463ab3ad62851a4 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, 23 Jun 2021 18:57:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D1=8B=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D0=B2=D0=B8=D1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 00135.действия.js | 13 ++++++++++--- 00140.ввод.js | 8 +++++++- 01300.пример.json.js | 7 ++++--- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/00135.действия.js b/00135.действия.js index f8a4dbf..5265492 100644 --- a/00135.действия.js +++ b/00135.действия.js @@ -29,12 +29,18 @@ function исполнитьДействие(имя) { - var действие = мир.действия.задано[имя]; - if (!действие) + var д = мир.действия.задано[имя]; + if (!д || !д.объект) { return; } - var объект = мир.действия.задано[имя]["объект"]; + + if (д.функция) + { + д.функция(); + } + + /* var скоростьX = мир.действия.задано[имя]["скорость.0"]; var скоростьY = мир.действия.задано[имя]["скорость.1"]; if ( @@ -50,4 +56,5 @@ console.debug("исполнить действие", имя, объект, ск }; Matter.Body.setVelocity(тело, скорость); } + */ }; diff --git a/00140.ввод.js b/00140.ввод.js index 3575929..6fa3013 100644 --- a/00140.ввод.js +++ b/00140.ввод.js @@ -43,6 +43,12 @@ window.addEventListener("keyup", function(o) { function обработатьКлавишу(клавиша, нажата) { + // Исключаем повторы. + if (мир.ввод.клавиши[клавиша] == нажата) + { + return; + } + мир.ввод.клавиши[клавиша] = нажата; for (var номер in мир.ввод.задано) @@ -60,7 +66,7 @@ function обработатьКлавишу(клавиша, нажата) клавиши.includes(клавиша) && задано.действие ) { -console.debug("исполнить действие", задано.действие, "клавиша", клавиша, "клавиши", клавиши); + мир.действия.исполнить(задано.действие); } } } diff --git a/01300.пример.json.js b/01300.пример.json.js index 602a020..b1900a6 100644 --- a/01300.пример.json.js +++ b/01300.пример.json.js @@ -28,12 +28,13 @@ ], действия: { переместитьКолобка: { - функция: переместитьКолобка, + объект: "колобок", + функция: переместитьПерсонажа, }, }, }); -function переместитьКолобка() +function переместитьПерсонажа() { -console.debug("надо переместитьКолобка"); +console.debug("надо переместитьПерсонажа. клавиши", мир.ввод.клавиши); }