我正在尝试编写一个基本的视频游戏,并希望从键盘输入输入。因此,我需要在生成标准输入时读取字符。 由于缓冲,io:get_chars,io:fread只有在按下返回键后才会返回。
项目的目的不是制作真实的游戏,而只是学习Erlang的一种方式。因此,性能不是问题。
编辑:这project似乎提供了我正在寻找的功能。但是,如果我没有弄错的话,代码的一部分是用C语言编写的,并通过消息传递将字符发送到Erlang部分。对于这种方法,是否存在Erlang原生的替代方案,或者这是唯一可行的方法吗?
答案 0 :(得分:2)
一般来说,在处理游戏的键盘输入时,从STDIN读取并不是你想要的方式。您希望能够在任何给定时刻读取键的状态。
查看wx(以及reference manual)
它是wxWidgets库的Erlang接口,包括用于处理各种输入的接口,包括键盘。