我已经使用SFML创建了简单的游戏(玩家可以运行,跳跃等按箭头),我如何在一台计算机上同时为两个玩家(第二个玩家将使用WASD移动)做同样的事情?
答案 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)
,该方法的问题在于,您只在每个循环周期轮询一个事件,因为事件已添加到队列中。使用上面的代码,您应该能够同时按下多个键并处理两个操作。