【问题标题】:I can't get a fast and easy way to get keyboard events in allegro我无法在快板中获得快速简便的方法来获取键盘事件
【发布时间】:2019-07-29 22:55:20
【问题描述】:

我正在尝试在 allegro 中制作一个文本框,并且需要一种从按键中获取 ascii 键码的方法。 ev.type == ALLEGRO_EVENT_KEY_DOWN 并不总是有效。我已尝试让活动更快地进行,但仍然很慢。

如果有一种方法可以让我将其变成一个函数,该函数可以为按下的任何键提供 Ascii 字符,那就太好了。 (我一直在寻找,但我找不到适合我正在使用的源代码的简单快速的东西)

【问题讨论】:

    标签: c++ allegro allegro5


    【解决方案1】:

    也许您正在寻找ALLEGRO_EVENT_KEY_CHAR 事件类型。每次在键盘上键入字符时都会生成这些事件,或者因为按键被按住足够长的时间而自动重复。换句话说,ALLEGRO_EVENT_KEY_UP/DOWN 事件对应键盘状态,ALLEGRO_EVENT_KEY_CHAR 事件对应字符输入缓冲区状态。

    【讨论】:

    • 我正在使用它,它太快了。我该如何解决这个问题?你需要这个代码吗?
    • @Mainmenu 重复速度取决于 BIOS 或操作系统设置,或者其他情况。
    • @Mainmenu 无论如何,请更准确地表述您的问题。目前,问题中的“太慢”和上述评论中的“太快”相互矛盾。很难回答一个矛盾的问题。
    • 在我的程序中,它并没有得到每个关键事件。这可能是因为我使用递归函数,每次主循环迭代都会多次调用主键盘函数。很抱歉第一次没有给出答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2011-06-30
    • 2013-12-06
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多