【问题标题】:c++ async keyboard input(standard way)c++ 异步键盘输入(标准方式)
【发布时间】:2020-06-26 14:31:23
【问题描述】:

我正在尝试使用 ansi 转义码在 linux 中制作 C++ 蛇游戏,但我无法找到获取异步键盘输入的方法。我是初学者,目前正在阅读一本 c++ 书籍,所以我还没有涉及多线程。 有没有机会以“简单”的方式实现这一结果。(如果可能,标准,我看到了 kbhit 解决方案) How to use kbhit and getch (C programming) .我可以解决从 /dev/input 事件文件读取的问题吗?

谢谢你们。

【问题讨论】:

  • 没有标准方法。 /dev/input 是特定于 linux 的,所以它甚至不是远程标准。
  • 您是在询问异步键盘输入还是按键击键盘输入?您可以通过std::asyncstd::thread 执行异步键盘输入,但这看起来并不是您实际要求的。

标签: c++


【解决方案1】:

C++ 不提供异步读取键盘状态的标准方法。

提升 asio,如 read from keyboard using boost async_read and posix::stream_descriptor 是一种方式。有些人将 boost 视为“标准”或“普通”C++ 扩展。

另一种方法是使用 SDL 或 SFML 等游戏库。您包含他们的标题并链接到他们的库。

【讨论】:

    猜你喜欢
    • 2011-12-17
    • 2014-07-21
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2011-12-09
    相关资源
    最近更新 更多