gpt4 book ai didi

c++ - 在 SDL 中打印键的名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:08 26 4
gpt4 key购买 nike

我的 SDL 程序正在返回所有键都相同的内存地址,我正在尝试打印键的名称,即如果用户按下“F”键,控制台输出“F”。我将如何着手编辑我的代码以实现此目的?

void Game::handleEvents()
{
SDL_Event event;
if(SDL_PollEvent(&event))
{
switch (event.type) {
case SDL_QUIT:
g_bRunning = false;
//SDL_Quit();
break;
case SDL_KEYDOWN:
//this is the line that is not working as expected.
std::cout << &event.key.keysym.sym << std::endl;
default:
break;
}
}
}

最佳答案

使用 SDL_GetKeyName() 获取表示按下的键的可打印字符串。由于 SDL_Keycode(SDL1.2 中的 SDLKey)是作为枚举实现的,因此不能简单地将其转换为可打印字符,尤其是“shift”和“alt”等键。

试试这个:

std::cout << SDL_GetKeyName(event.key.keysym.sym) << std::endl;

关于c++ - 在 SDL 中打印键的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990270/

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