SFML同时移动两个不同按钮的玩家

时间:2017-06-25 22:57:24

标签: sfml

我已经使用SFML创建了简单的游戏(玩家可以运行,跳跃等按箭头),我如何在一台计算机上同时为两个玩家(第二个玩家将使用WASD移动)做同样的事情?

1 个答案:

答案 0 :(得分:0)

您可以访问使用sf::Keyboard课程按下的键。 sf::Keyboard是一个静态类,因此您不需要创建唯一的实例,这是一个简单的示例:

if(sf::Keyboard::isKeypressed(sf::Keyboard::Key::W))
{
    Player1.Move(1, 1);
}

if(sf::Keyboard::isKeypressed(sf::Keyboard::Key::Left))
{
    Player2.Move(1, 1);
} 

我假设您当前正在使用window.PollEvent(event),该方法的问题在于,您只在每个循环周期轮询一个事件,因为事件已添加到队列中。使用上面的代码,您应该能够同时按下多个键并处理两个操作。