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("надо переместитьПерсонажа. клавиши", мир.ввод.клавиши); }