From 47ebe996f631ad122bd3d7b362df31b1abed6935 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: Mon, 19 Jul 2021 14:53:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=B2=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 180.ввод.js | 29 +++++++++++++++++++++ 200.ввод.js | 69 ------------------------------------------------- index.html | 2 +- 3 files changed, 30 insertions(+), 70 deletions(-) create mode 100644 180.ввод.js delete mode 100644 200.ввод.js diff --git a/180.ввод.js b/180.ввод.js new file mode 100644 index 0000000..fc06b43 --- /dev/null +++ b/180.ввод.js @@ -0,0 +1,29 @@ +мир.ввод = { + клавиши: {}, +}; + + +// // // // + + +window.addEventListener("keydown", function(o) { + мир.ввод.обработатьКлавишу(o.key, true); +}); +window.addEventListener("keyup", function(o) { + мир.ввод.обработатьКлавишу(o.key, false); +}); + + +// // // // + + +мир.ввод.обработатьКлавишу = function(клавиша, нажата) +{ + // Исключаем повторы. + if (мир.ввод.клавиши[клавиша] == нажата) + { + return; + } + + мир.ввод.клавиши[клавиша] = нажата; +}; diff --git a/200.ввод.js b/200.ввод.js deleted file mode 100644 index 74ca7de..0000000 --- a/200.ввод.js +++ /dev/null @@ -1,69 +0,0 @@ -мир.ввод = { - клавиши: {}, - задано: {}, -}; - -// // // // - - -мир.ключники.push(function(ключ, путь, значение){ - if (!ключ.startsWith("ввод")) - { - return; - } - - var номер = путь[1]; - - if (!(номер in мир.ввод.задано)) - { - мир.ввод.задано[номер] = {}; - } - - var свойство = путь.slice(2).join("."); - мир.ввод.задано[номер][свойство] = значение; -}); - - -// // // // - - -window.addEventListener("keydown", function(o) { - мир.ввод.обработатьКлавишу(o.key, true); -}); -window.addEventListener("keyup", function(o) { - мир.ввод.обработатьКлавишу(o.key, false); -}); - - -// // // // - - -мир.ввод.обработатьКлавишу = function(клавиша, нажата) -{ - // Исключаем повторы. - if (мир.ввод.клавиши[клавиша] == нажата) - { - return; - } - - мир.ввод.клавиши[клавиша] = нажата; - - for (var номер in мир.ввод.задано) - { - var задано = мир.ввод.задано[номер]; - var клавиши = []; - for (var элемент in задано) - { - if (элемент.startsWith("клавиши")) - { - клавиши.push(задано[элемент]); - } - } - if ( - клавиши.includes(клавиша) && - задано.действие - ) { - мир.действия.исполнить(задано.действие); - } - } -}; diff --git a/index.html b/index.html index 036880d..e13bb77 100644 --- a/index.html +++ b/index.html @@ -34,7 +34,7 @@ - +