我打算使用haskell制作游戏,但无法找到捕捉键盘上下键,左键和右键等关键事件的方法。 我试过getChar,但它没有抓住这些。 (或者我可能不知道它是怎么做的)
同样捕获CTRL,ALT组合也会很棒。
答案 0 :(得分:3)
异步键盘IO是特定于操作系统的,因此您需要一个库来抽象它。
关于"处理"其中一部分,这些库通常允许您注册事件的回调。从它们中,您可以使用TQueue
中的STM
将事件推送到,然后在纯代码中按顺序处理它们。
GLFW-b demo在实践中有一个很好的例子。如果你想创建一个文本游戏,那么为此拉一整件可能是一种过度杀伤力;也许找一些ncurses绑定?