每隔几秒钟移动一次对象



我的问题是,当我按下键盘时,我如何每隔几秒钟移动一个对象,而另一个对象可以独立移动。

所以例如:

while (window.isOpen())
{
sf::Event event;
    while (window.pollEvent(event))
    {
        switch (event.type)
        {
        case  sf::Event::Closed: 
            window.close(); 
            break;
        case sf::Event::KeyPressed: 
            m_mo[0]->move(0.f, 50.f); //move when keyboard is pressed
            break;
        }
    }
    m_mo[1]->move(0.f, 50.f); //move every 10 seconds
    window.clear();
    window.draw(m_mo[0]);
    window.draw(m-mo[1]);
    window.display();
    }

任何有时间给我举个例子的人请!

SFML确实为此目的提供了两个类,时间和时钟。这些可以像下面这样使用。

sf::Clock clock;
sf::Time time;
time = clock.restart();
// wait some time
sf::Time ellapsed = clock.restart() - time;
sf::Int32 ellapsedMiliseconds = ellapsed.asMiliseconds();

更多时间信息在这里

最新更新