【发布时间】:2012-09-02 05:38:24
【问题描述】:
bool m_down = sf::Keyboard::isKeyPressed(sf::Keyboard::Key::M);
bool up_down = sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Up);
bool down_down = sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Down);
bool left_down = sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Left);
bool right_down = sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Right);
这段代码基本上是唯一相关的代码。
当我同时按住其他一些键和 M 和一个 [n] 箭头键 [s] 时,它似乎在按下 m 时返回 false。 (虽然是这样)
我没有代码对其进行操作、破坏等操作,如果可能的话,我想了解一下为什么会发生这种情况,以及如何解决它。
如果没有办法修复它,那么你能告诉我使用事件系统在我这边重新制作这个功能的最佳方法吗?
【问题讨论】:
-
This 可能会有所帮助。
-
嗯,如果我也使用基于事件的方法,这是否适用?
-
我相信是的。每当您按下太多键时,键盘都会忽略和后续按键,直到其中一个键出现。无论如何,构建一个测试用例进行仔细检查应该不难。
-
好的,谢谢你的帮助。如果您只是将其放入答案中,我会接受,以便您从中获得一些代表。