ввод
This commit is contained in:
29
180.ввод.js
Normal file
29
180.ввод.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
мир.ввод = {
|
||||||
|
клавиши: {},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
window.addEventListener("keydown", function(o) {
|
||||||
|
мир.ввод.обработатьКлавишу(o.key, true);
|
||||||
|
});
|
||||||
|
window.addEventListener("keyup", function(o) {
|
||||||
|
мир.ввод.обработатьКлавишу(o.key, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
мир.ввод.обработатьКлавишу = function(клавиша, нажата)
|
||||||
|
{
|
||||||
|
// Исключаем повторы.
|
||||||
|
if (мир.ввод.клавиши[клавиша] == нажата)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
мир.ввод.клавиши[клавиша] = нажата;
|
||||||
|
};
|
||||||
69
200.ввод.js
69
200.ввод.js
@@ -1,69 +0,0 @@
|
|||||||
мир.ввод = {
|
|
||||||
клавиши: {},
|
|
||||||
задано: {},
|
|
||||||
};
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
мир.ключники.push(function(ключ, путь, значение){
|
|
||||||
if (!ключ.startsWith("ввод"))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var номер = путь[1];
|
|
||||||
|
|
||||||
if (!(номер in мир.ввод.задано))
|
|
||||||
{
|
|
||||||
мир.ввод.задано[номер] = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
var свойство = путь.slice(2).join(".");
|
|
||||||
мир.ввод.задано[номер][свойство] = значение;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
window.addEventListener("keydown", function(o) {
|
|
||||||
мир.ввод.обработатьКлавишу(o.key, true);
|
|
||||||
});
|
|
||||||
window.addEventListener("keyup", function(o) {
|
|
||||||
мир.ввод.обработатьКлавишу(o.key, false);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
мир.ввод.обработатьКлавишу = function(клавиша, нажата)
|
|
||||||
{
|
|
||||||
// Исключаем повторы.
|
|
||||||
if (мир.ввод.клавиши[клавиша] == нажата)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
мир.ввод.клавиши[клавиша] = нажата;
|
|
||||||
|
|
||||||
for (var номер in мир.ввод.задано)
|
|
||||||
{
|
|
||||||
var задано = мир.ввод.задано[номер];
|
|
||||||
var клавиши = [];
|
|
||||||
for (var элемент in задано)
|
|
||||||
{
|
|
||||||
if (элемент.startsWith("клавиши"))
|
|
||||||
{
|
|
||||||
клавиши.push(задано[элемент]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (
|
|
||||||
клавиши.includes(клавиша) &&
|
|
||||||
задано.действие
|
|
||||||
) {
|
|
||||||
мир.действия.исполнить(задано.действие);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<script src="120.физика.js"></script>
|
<script src="120.физика.js"></script>
|
||||||
<script src="140.изображения.js"></script>
|
<script src="140.изображения.js"></script>
|
||||||
<script src="160.объекты.js"></script>
|
<script src="160.объекты.js"></script>
|
||||||
<script src="200.ввод.js"></script>
|
<script src="180.ввод.js"></script>
|
||||||
<script src="220.игрок.js"></script>
|
<script src="220.игрок.js"></script>
|
||||||
<script src="240.слежение.js"></script>
|
<script src="240.слежение.js"></script>
|
||||||
<script src="260.столкновения.js"></script>
|
<script src="260.столкновения.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user