我正在开发一款游戏,目前我正在使用ncurses库提供的getch
函数。
根据这里的说明:
nodelay
选项使getch
成为非阻塞调用。如果没有输入准备好,getch返回ERR。如果禁用(bf为FALSE),getch将等待按键。
也就是说,默认情况下getch()
是一个阻塞函数,如果你将nodelay
设置为TRUE,你可以拥有一个非阻塞的用户输入函数。
在另一种方法中,我可以使用多线程来捕捉用户输入而不阻塞游戏的进程。
问题
我是否浪费时间重写我的代码来使用线程,或者我可以通过这种方法获得一些东西(速度响应、可移植性等)?
Ncurses是一个不错的库,用于制作控制台应用程序,但我对用户输入有疑问。