учёт действия клавиш
This commit is contained in:
@@ -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("исполнить действие", задано.действие, "клавиша", клавиша, "клавиши", клавиши);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -27,17 +27,13 @@
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
действия: {
|
действия: {
|
||||||
колобокВлево: {
|
переместитьКолобка: {
|
||||||
объект: "колобок",
|
функция: переместитьКолобка,
|
||||||
скорость: [-10, 0],
|
|
||||||
},
|
|
||||||
колобокВправо: {
|
|
||||||
объект: "колобок",
|
|
||||||
скорость: [10, 0],
|
|
||||||
},
|
|
||||||
колобокВверх: {
|
|
||||||
объект: "колобок",
|
|
||||||
скорость: [0, -5],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function переместитьКолобка()
|
||||||
|
{
|
||||||
|
console.debug("надо переместитьКолобка");
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user