исключить повторы клавиш

This commit is contained in:
2021-06-23 18:57:15 +03:00
parent 1cd31b49f5
commit 4e37d55650
3 changed files with 21 additions and 7 deletions

View File

@@ -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(тело, скорость);
}
*/
};

View File

@@ -43,6 +43,12 @@ window.addEventListener("keyup", function(o) {
function обработатьКлавишу(клавиша, нажата)
{
// Исключаем повторы.
if (мир.ввод.клавиши[клавиша] == нажата)
{
return;
}
мир.ввод.клавиши[клавиша] = нажата;
for (var номер in мир.ввод.задано)
@@ -60,7 +66,7 @@ function обработатьКлавишу(клавиша, нажата)
клавиши.includes(клавиша) &&
задано.действие
) {
console.debug("исполнить действие", задано.действие, "клавиша", клавиша, "клавиши", клавиши);
мир.действия.исполнить(задано.действие);
}
}
}

View File

@@ -28,12 +28,13 @@
],
действия: {
переместитьКолобка: {
функция: переместитьКолобка,
объект: олобок",
функция: переместитьПерсонажа,
},
},
});
function переместитьКолобка()
function переместитьПерсонажа()
{
console.debug("надо переместитьКолобка");
console.debug("надо переместитьПерсонажа. клавиши", мир.ввод.клавиши);
}