SFML秒计数器
SFML seconds counter
我正在使用 SFML 库制作游戏,我想实现一个功能,显示自程序 运行 以来屏幕上的秒数,并且它会增加直到 window关闭。我试过这个:
sf::Clock clock;
while (window.isOpen())
{
sf::Time elapsed = clock.restart();
updateGame(elapsed);
}
但我不知道它是如何工作的,甚至不知道它是否是正确的功能。
到目前为止,这是我的代码 https://github.com/basmaashouur/GamesLib/blob/master/cards/main.cpp
有多种方法可以获取秒数。
首先,您可以为此使用永不重置的独占 sf::Clock
:
sf::Clock clock;
const unsigned int seconds = static_cast<unsigned int>(clock.getElapsedTime().asSeconds());
作为替代方案,您可以使用 sf::Time
来累积帧之间的时间(例如,在您的 updateGame()
函数中):
sf::Clock clock;
sf::Time time;
time += clock.restart();
const unsigned int seconds = static_cast<unsigned int>(time.asSeconds());
我正在使用 SFML 库制作游戏,我想实现一个功能,显示自程序 运行 以来屏幕上的秒数,并且它会增加直到 window关闭。我试过这个:
sf::Clock clock;
while (window.isOpen())
{
sf::Time elapsed = clock.restart();
updateGame(elapsed);
}
但我不知道它是如何工作的,甚至不知道它是否是正确的功能。 到目前为止,这是我的代码 https://github.com/basmaashouur/GamesLib/blob/master/cards/main.cpp
有多种方法可以获取秒数。
首先,您可以为此使用永不重置的独占 sf::Clock
:
sf::Clock clock;
const unsigned int seconds = static_cast<unsigned int>(clock.getElapsedTime().asSeconds());
作为替代方案,您可以使用 sf::Time
来累积帧之间的时间(例如,在您的 updateGame()
函数中):
sf::Clock clock;
sf::Time time;
time += clock.restart();
const unsigned int seconds = static_cast<unsigned int>(time.asSeconds());