Browse Source

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

master
parent
commit
4e37d55650
3 changed files with 21 additions and 7 deletions
  1. +10
    -3
      00135.действия.js
  2. +7
    -1
      00140.ввод.js
  3. +4
    -3
      01300.пример.json.js

+ 10
- 3
00135.действия.js 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(тело, скорость);
}
*/
};

+ 7
- 1
00140.ввод.js 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("исполнить действие", задано.действие, "клавиша", клавиша, "клавиши", клавиши);
мир.действия.исполнить(задано.действие);
}
}
}

+ 4
- 3
01300.пример.json.js View File

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

function переместитьКолобка()
function переместитьПерсонажа()
{
console.debug("надо переместитьКолобка");
console.debug("надо переместитьПерсонажа. клавиши", мир.ввод.клавиши);
}

Loading…
Cancel
Save