gpt4 book ai didi

c++ - SDL key 阻塞和重影

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:55 25 4
gpt4 key购买 nike

我一直在使用 SDLc++ 中制作 2d 游戏,发现某些组合键不起作用。

例如,如果我按住向左和向上箭头键,SDL 无法识别按下的向右箭头键。经过一番研究,我发现这可能是由于按键阻塞或重影,并且没有解决方案。

其他程序员如何解决这个问题?

我在玩大多数现有游戏时没有遇到过这种限制。我从来没有在Java中遇到过这个问题。

这是一个代码示例:

while(SDL_PollEvent(&event))
{

if(event.type == SDL_KEYDOWN)
{
switch(event.key.keysym.sym)
{
case SDLK_UP:
std::cout << "Up pressed" << std::endl;
break;
case SDLK_DOWN:
std::cout << "Down pressed" << std::endl;
break;
case SDLK_LEFT:
std::cout << "Left pressed" << std::endl;
break;
case SDLK_RIGHT:
std::cout << "Right pressed" << std::endl;
break;
}
}
else if(event.type == SDL_KEYUP)
{
switch(event.key.keysym.sym)
{
case SDLK_UP:
std::cout << "Up released" << std::endl;
break;
case SDLK_DOWN:
std::cout << "Down released" << std::endl;
break;
case SDLK_LEFT:
std::cout << "Left released" << std::endl;
break;
case SDLK_RIGHT:
std::cout << "Right released" << std::endl;
break;
}
}
}

最佳答案

没有真正解决这个问题的方法,因为它是特定于键盘的。例如,在我的笔记本电脑键盘上,如果按下某些键,我一次只能按下一定数量的键。

您可以尝试减少某人必须同时按下的键数,但这会很棘手。

关于c++ - SDL key 阻塞和重影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16247891/

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