@@ -0,0 +1,29 @@ | |||||
мир.ввод = { | |||||
клавиши: {}, | |||||
}; | |||||
// // // // | |||||
window.addEventListener("keydown", function(o) { | |||||
мир.ввод.обработатьКлавишу(o.key, true); | |||||
}); | |||||
window.addEventListener("keyup", function(o) { | |||||
мир.ввод.обработатьКлавишу(o.key, false); | |||||
}); | |||||
// // // // | |||||
мир.ввод.обработатьКлавишу = function(клавиша, нажата) | |||||
{ | |||||
// Исключаем повторы. | |||||
if (мир.ввод.клавиши[клавиша] == нажата) | |||||
{ | |||||
return; | |||||
} | |||||
мир.ввод.клавиши[клавиша] = нажата; | |||||
}; |
@@ -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> | ||||