AFRP 的整个主题听起来非常令人兴奋,我正在尝试在其中开始我自己的项目。我找到了Yampa和yampa-glut,这似乎是与 GLUT 的良好绑定(看起来,GLUT是唯一同时在 Windows 和 Linux 上运行的图形库)。
yampa-glut
源码附带了一个简单的例子,我复制过来学习了。然后我想扩展它,为关键事件添加一个简单的测试。它的完整来源在这里,除了第 23 行和 keys 函数外,没有什么新东西:
keys = proc ev -> do
rec
e <- keyAction -< ev
let s = event Nothing (Just . show) e
res <- identity -< s
returnA -< res
每当我按下或释放一个键时,预期的结果是外壳上的简单输出。但它没有发生,没有输出。
如果我将最后一行之前的行更改为:
res <- delay 0.2 Nothing -< s
然后我得到一些关键输入,但不是全部,很多都被跳过了。
我找不到对此的解释,所以我希望有人能向我解释我哪里出错了,我可以做些什么来获得键盘和鼠标按钮输入。