gpt4 book ai didi

c++ - 全屏模式下未触发 KeyRelease 事件

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:51 25 4
gpt4 key购买 nike

正如标题所说,KeyRelease 事件在 Mac OS X 上的全屏模式下根本不会被触发(尚未测试 Linux/Windows,也可能被破坏)。

代码如下:

sf::ContextSettings settings;
settings.antialiasingLevel = 8;

sf::RenderWindow window(sf::VideoMode::getDesktopMode(), "My Game", sf::Style::Fullscreen, settings);
window.setFramerateLimit(60);
window.setVerticalSyncEnabled(true);
window.setMouseCursorVisible(false);

while (window.isOpen())
{

while (window.pollEvent(event))
{
// Close window : exit
if (event.type == sf::Event::Closed) {
window.close();
}

if (event.type == sf::Event::KeyPressed) {
switch (event.key.code) {
case sf::Keyboard::Escape: // Escape pressed : exit
window.close();
break;
default:
game->handleKeyCode(event.key.code);
break;
}

} else if(event.type == sf::Event::KeyReleased) {
printf("KeyRelease Fired!\n");
}
}
}

如果我不使用全屏模式,而是像这样初始化 windowKeyRelease 事件就可以正常工作:

sf::RenderWindow window(sf::VideoMode(1400, 950), "My Game", sf::Style::Default, settings);

最佳答案

A recent commit解决这个问题。从它的 git 编译 SFML 应该可以解决这个问题。参见 the official tutorial有关编译的更多详细信息。

关于c++ - 全屏模式下未触发 KeyRelease 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18802615/

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