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 исполнитьДействие(имя) function исполнитьДействие(имя)
{ {
var действие = мир.действия.задано[имя];
if (!действие)
var д = мир.действия.задано[имя];
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(тело, скорость);
} }
*/
}; };

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

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

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


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

Loading…
Cancel
Save