Я пытаюсь создать игру, в которой правильная комбинация чисел дает игроку эффект, чтобы помочь им пройти уровень. Мой план для этого заключался в том, чтобы использовать инструкции if для проверки нажатия клавиши и изменения переменных соответственно. Это должно быть очень просто, но мои попытки потерпели неудачу, в то время как я не могу найти страницы, которые адекватно объясняют это. Итак, кто-нибудь знает, как я могу обнаружить прессу числового ключа для оператора if в javascript?Обнаружение нажатия цифровой клавиши для оператора if
ответ
Если вы хотите ввести определенную последовательность чисел, вам нужно будет использовать кеш и проверить каждое нажатие клавиши. Ниже приведен пример. Я указал, что хочу 1, затем 2, затем 3 в этом порядке. Выполнение этого неверно сбрасывает последовательность. Завершив его, в этом случае тоже сбрасывается.
Попробуйте. запустите его и прес 1, затем 2 затем 3. Прерывание последовательности означает, что вы должны перезапустить.
//press 1, then 2 then 3
var code = [49, 50, 51]
var cache = [];
function checkCode(eve) {
var keycode = eve.keyCode || eve.which;
if(keycode === cache.shift()){
if(!cache.length){
//resets if you did it. do not include if you want once.
replenishCache();
//do whatever you do here.
doThing();
}
} else {
replenishCache();
}
}
function doThing(){
alert('sequence entered');
}
function replenishCache(){
cache = code.slice(0);
}
replenishCache();
window.addEventListener('keypress', checkCode, false);
Я добавлю, что этот код полностью не в контексте каких-либо рамок или модуля или шаблон. Я просто привязал событие к окну, чтобы проиллюстрировать его. Вам нужно подумать о том, как переносить это во все, что вы делаете. Например, вместо того, чтобы просто вызвать более глобальную функцию непосредственно doThing
в этом случае - вы, вероятно, должны передать это в какой-то плагин или модуль. То же самое с последовательностью кодов символов.
- 1. Обнаружение нажатия клавиши backspace
- 2. Обнаружение определенного нажатия клавиши
- 3. Обнаружение нажатия клавиши
- 4. Обнаружение CapsLock нажатия клавиши
- 5. Обнаружение нажатия клавиши на бумаге
- 6. Множественное обнаружение нажатия клавиши wxPython
- 7. Обнаружение нажатия клавиши в jsp
- 8. Обнаружение любого нажатия клавиши управления
- 9. Обнаружение нажатия клавиши в консоли
- 10. Обнаружение * нажатия клавиши в wpf
- 11. C# простое обнаружение нажатия клавиши
- 12. Обнаружение двойного нажатия клавиши в Objective-C
- 13. Обнаружение нажатия клавиши физического меню в Android
- 14. Обнаружение двойного нажатия клавиши в AutoHotkey
- 15. Обнаружение нажатия клавиши в XNA 4.0?
- 16. Python - обнаружение нажатия клавиши в оболочке
- 17. Обнаружение нажатия одной клавиши в JavaFX
- 18. Опрос клавиатуры (обнаружение нажатия клавиши) в python
- 19. Обнаружение нажатия левой или правой клавиши в нажатие клавиши - JQuery
- 20. JS Обнаружение нажатия клавиши без объекта события
- 21. Обнаружение многократного нажатия клавиши в Backbone
- 22. Обнаружение только одного нажатия клавиши в C++
- 23. обнаружение нажатия клавиши во время java dnd
- 24. Обнаружение нажатия клавиши F10 в WPF
- 25. Обнаружение нажатия клавиши навигации в datagridview
- 26. обнаружение любого нажатия клавиши в applescript
- 27. Actionscript 3 обнаружение последовательного нажатия клавиши
- 28. Обнаружение события нажатия клавиши в Swift
- 29. Обнаружение нажатия клавиши с использованием Python
- 30. Delphi - Обнаружение нажатия 3 клавиши одновременно
Можете ли вы опубликовать код, который у вас есть до сих пор? что-нибудь работает? – JordanHendrix
Эта библиотека может быть хорошим местом для начала или, может быть, даже рычагом - https://github.com/namuol/cheet.js – dmoo
, вы вообще не смотрели, не так ли? Я просто сделал и нашел как 50 вопросов: http://stackoverflow.com/questions/2297524/javascript-jquery-keypress-logging – JordanHendrix