gpt4 book ai didi

reactive-extensions-js - 如何使用 Rx.js(javascript 的响应式(Reactive)扩展)检测 konami 代码?

转载 作者:行者123 更新时间:2023-12-04 07:44:54 25 4
gpt4 key购买 nike

我要开始学习 Rx.js我正在寻找一个很酷的例子来开始滚动。我如何检测 konami code使用 Rx.js?

我想检测一系列按键事件(上下左右左右BA)并在发生这种情况时显示图像。

最佳答案

这是我的版本:

<html>
<head>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="rx.js"></script>
<script type="text/javascript" src="rx.jQuery.js"></script>
</head>
<body>
<p id="result"></p>
<script type="text/javascript">
$(function() {
var konami = $(document).toObservable("keyup").Select(function(e) {
return e.keyCode
}).SkipWhile(function(k) {
return (k != 38)
}).BufferWithCount(
10
).Where(function(ks) {
return ks.length == 10 &&
ks[0] == 38 && ks[1] == 38 &&
ks[2] == 40 && ks[3] == 40 &&
ks[4] == 37 && ks[5] == 39 &&
ks[6] == 37 && ks[7] == 39 &&
ks[8] == 66 && ks[9] == 65
})

var konamisub = konami.Subscribe(function(e) {
$("#result").text("KONAMI!")
$("#result").fadeIn().fadeOut()
})
})
</script>
</body>
</html>

我使用 Select 将 keyup 事件流转换为键码流,然后忽略按键,直到用户使用 SkipWhile 向上按(键码 38) ,然后使用 BufferWithCount 收集 10 次击键,然后使用 Where 检查击键.

我尝试使用 BufferWithTime,但它往往会在击键过程中中断。

如果有人可以提出改进建议,我很乐意听取他们的意见。

关于reactive-extensions-js - 如何使用 Rx.js(javascript 的响应式(Reactive)扩展)检测 konami 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com