苹果笔记本MacOS 15.0系统 下 基于SFML 3.0.0 /C++ 的俄罗斯方块游戏程序,键盘无响应问题如何解决?

新手上路,请多包涵

苹果笔记本电脑macos15.0系统下基于sfml3.0.0库,用c++编写俄罗斯方块游戏。编译后已经可以运行,但是始终对键盘的按键没有响应。查了sfml官方网页对这方面的用法,我这个写法(相关代码如下)是没有问题的啊,有哪位大神碰到或研究过这种问题吗,帮忙解答一下,先谢了:

while (window.isOpen())
{
    //处理输入事件
    while(const std::optional event = window.pollEvent()){
        if (event->is<sf::Event::Closed>()){
            std::cout << "close window!" << std::endl;
            window.close();    
        }
        if (event->getIf<sf::Event::KeyPressed>() && !gameOver) {
            Tetromino temp = currentPiece;
            //测试左方向键
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Left)){
                temp.x--;
                std::cout<<"Left key pressed." << std::endl;
            } 

            //测试A键
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::A)) {  
                temp.x--;
                std::cout << "A key pressed." << std::endl;
            }
            //other proecess ...
        }
    }
}

苹果的输入法设置过,没有用,sfml库的官方网页的示范用法也看过了,感觉自己没错。有点怀疑是不是需要重新编译sfml库啊。上面特意加的两行打印语句,在运行时即是按了左方向键或A键,都不会运行,,,就是键盘没有识别这个事件。但我的键盘在其他情况下都是可以正常使用没有问题的。也问过deepseek/腾讯元宝等一堆ai终端app,答案都没用啊,解决不了。。。

阅读 581
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题