sfml - SFML 球员运动
问题描述
我在 macos 上使用 SFML 实现玩家移动时遇到问题。当我使用这段代码时,玩家移动有效:
keyRight = event.type == Event::KeyPressed && event.key.code == sf::Keyboard::Right;
keyLeft = event.type == Event::KeyPressed && event.key.code == sf::Keyboard::Left;
keyUp = event.type == Event::KeyPressed && event.key.code == sf::Keyboard::Up;
keyDown = event.type == Event::KeyPressed && event.key.code == sf::Keyboard::Down;
但如果我使用它,它将不起作用:
keyRight= sf::Keyboard::isKeyPressed(sf::Keyboard::Right);
keyLeft= sf::Keyboard::isKeyPressed(sf::Keyboard::Left);
keyUp= sf::Keyboard::isKeyPressed(sf::Keyboard::Up);
keyDown= sf::Keyboard::isKeyPressed(sf::Keyboard::Down);
我想使用第二种方法,因为第一种方法似乎不适用于对角线运动(它只是不能同时按下两个键。)我在哪里犯了错误?
解决方案
对于每个遇到相同问题的 mac 用户,我都设法解决了我的问题。由于 os catalina 您必须重新授予编译器(或项目)权限以监视输入。更多内容:https ://en.sfml-dev.org/forums/index.php?topic=26395.0
您可以在每次更改构建中的任何内容时单击它,也可以使用基于事件的移动。
推荐阅读
- python - 如何谷歌搜索返回英文结果
- liferay - Selenium cookie,必须具有 name 和 value 值
- javascript - 有没有办法通过移动设备的视频聊天来实现 PWA?
- kubernetes - 在运行 Dropwizard 应用程序的 Kubernetes pod 滚动更新期间连接断开
- powershell - 在字符串中搜索具有特殊字符的子字符串
- sql-server - SQL Server 能否为临时表返回错误的顺序?
- swift - 如何调整字典的值以快速阅读?
- python - 合并多个 DataFrames Pandas
- python - 用另一列的值替换数据框子部分中的 1 个值
- awk - 我想使用 awk 从第 27 行开始删除每第 n 行