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

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 исполнитьДействие(имя) function исполнитьДействие(имя)
{ {
var действие = мир.действия.задано[имя]; var д = мир.действия.задано[имя];
if (!действие) if (!д || !д.объект)
{ {
return; return;
} }
var объект = мир.действия.задано[имя]["объект"];
if (д.функция)
{
д.функция();
}
/*
var скоростьX = мир.действия.задано[имя]["скорость.0"]; var скоростьX = мир.действия.задано[имя]["скорость.0"];
var скоростьY = мир.действия.задано[имя]["скорость.1"]; var скоростьY = мир.действия.задано[имя]["скорость.1"];
if ( if (
@@ -50,4 +56,5 @@ console.debug("исполнить действие", имя, объект, ск
}; };
Matter.Body.setVelocity(тело, скорость); Matter.Body.setVelocity(тело, скорость);
} }
*/
}; };

View File

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

View File

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