gpt4 book ai didi

c - allegro 中按键事件的错误

转载 作者:行者123 更新时间:2023-11-30 15:32:29 26 4
gpt4 key购买 nike

我正在按照命令使用 Allegro 做我的类(class)作业。

我需要捕获键盘上的按键事件,为此我使用了以下代码:

al_wait_for_event(evento, &ev);
if(ev.type == ALLEGRO_EVENT_KEY_UP){
if (ev.keyboard.keycode==ALLEGRO_KEY_A || ev.keyboard.keycode==ALLEGRO_KEY_LEFT)
cmd='a';
else if (ev.keyboard.keycode==ALLEGRO_KEY_W || ev.keyboard.keycode==ALLEGRO_KEY_UP)
cmd='w';
else if (ev.keyboard.keycode==ALLEGRO_KEY_D || ev.keyboard.keycode==ALLEGRO_KEY_RIGHT)
cmd='d';
else if (ev.keyboard.keycode==ALLEGRO_KEY_S || ev.keyboard.keycode==ALLEGRO_KEY_DOWN)
cmd='s';
}

但是这个事件一次返回6次值​​!

在我(之前)包含此命令的代码中:

al_install_keyboard();
[...]
al_register_event_source(evento, al_get_keyboard_event_source());

我哪里错了?

最佳答案

在 ALLEGRO_EVENT_KEY_UP 事件之前,将会发生 ALLEGRO_EVENT_KEY_DOWN。

只需将 UP 更改为 DOWN 即可。

关于c - allegro 中按键事件的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com