Browse Source

учёт действия клавиш

master
parent
commit
1cd31b49f5
2 changed files with 57 additions and 30 deletions
  1. +50
    -19
      00140.ввод.js
  2. +7
    -11
      01300.пример.json.js

+ 50
- 19
00140.ввод.js View File

@@ -1,23 +1,8 @@
мир.ввод = { мир.ввод = {
//действия: {},
клавиши: {},
задано: {},
}; };


window.addEventListener("keydown", function(o) {
console.debug("keydown", o);
/*
var действие = мир.клавиши.действия[o.key];
if (действие)
{
мир.действия.исполнить(действие);
}
*/
});

window.addEventListener("keyup", function(o) {
console.debug("keyup", o);
});


// // // // // // // //




@@ -27,9 +12,55 @@ console.debug("keyup", o);
return; return;
} }


var имя = путь[1];
var номер = путь[1];

if (!(номер in мир.ввод.задано))
{
мир.ввод.задано[номер] = {};
}

var свойство = путь.slice(2).join(".");
мир.ввод.задано[номер][свойство] = значение;


console.debug("ввод", ключ, путь, значение); console.debug("ввод", ключ, путь, значение);
//мир.клавиши.действия[имя] = значение;
}); });




// // // //


window.addEventListener("keydown", function(o) {
обработатьКлавишу(o.key, true);
});
window.addEventListener("keyup", function(o) {
обработатьКлавишу(o.key, false);
});


// // // //


function обработатьКлавишу(клавиша, нажата)
{
мир.ввод.клавиши[клавиша] = нажата;

for (var номер in мир.ввод.задано)
{
var задано = мир.ввод.задано[номер];
var клавиши = [];
for (var элемент in задано)
{
if (элемент.startsWith("клавиши"))
{
клавиши.push(задано[элемент]);
}
}
if (
клавиши.includes(клавиша) &&
задано.действие
) {
console.debug("исполнить действие", задано.действие, "клавиша", клавиша, "клавиши", клавиши);
}
}
}

+ 7
- 11
01300.пример.json.js View File

@@ -27,17 +27,13 @@
}, },
], ],
действия: { действия: {
колобокВлево: {
объект: "колобок",
скорость: [-10, 0],
},
колобокВправо: {
объект: "колобок",
скорость: [10, 0],
},
колобокВверх: {
объект: "колобок",
скорость: [0, -5],
переместитьКолобка: {
функция: переместитьКолобка,
}, },
}, },
}); });

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

Loading…
Cancel
Save