【发布时间】:2013-08-11 21:37:50
【问题描述】:
我并不完全是专业的,只是出于好奇,因为直到最近。所以我只有最基本的OF基础知识。
我目前的实验是这样的;您可以编写一系列按键,以执行特定功能,并且仅以正确的顺序执行吗?我说的就像一个游戏组合(即:著名的Konami Code彩蛋,由'↑'、'↑'、'↓'、'↓'、'←'、'→'、'←'、'→组成'、'B'、'A' 和 '开始')
例如,如果我使用“onkeydown”来执行此操作,它只会注册那个键,而不考虑之前或之后按下的任何键(或者我相信)。如果没有,我将不得不以某种方式记录之前发生的事情,然后......离开我的小鱼联盟。
有没有办法做这样的事情,希望更简单,更容易?请不要指望我知道很多,请不要使用 JQuery 或其他此类 js 库:D 用法。
您能以 Konami 代码为例进行编写吗?此模式的 js 字符代码为 38 38 40 40 37 39 37 39 66 65 13,将 Nintendo 的“Start”替换为“Enter”键。
【问题讨论】:
-
我不确定你所说的 Konami Code 是什么意思,但这里有一个简单的例子:jsfiddle.net/KhK2j。它肯定可以更好地改进/组织并清理一下,但它现在可以工作:)
-
@lan 这看起来像他想要的 :)
-
@Ian 它工作得很好,谢谢!我猜是非正式接受的答案。但只是一件小事......可以设置一个计时器以在代码开始后完成代码吗? (比如说,当按下 ↑ 时,整个代码需要 10 秒才能完成或自动重置?或者甚至可能有 2 秒的限制来按下系列中的下一个键或自动重置?)
-
@Terrornado 好吧,这就是我将如何更全面地实现(仍然不完全是我会怎么做)你的第一个问题:jsfiddle.net/pP49S。您可以将
finishTimerLength更改为您希望等待它超时的毫秒数 -
再次感谢!此外,正确的序列是否可以被混淆或隐藏起来,让任何阅读源脚本的人(至少是初学者)看不到?
标签: javascript keyboard keyboard-shortcuts