我已经尝试过重新启动程序或创建新程序,但是我没有得到一个有效的时间,我总是得到像5e-06这样的输出,持续几秒钟...问题出在哪里? https://i.stack.imgur.com/a3sGy.png 感谢您的帮助
#include <SFML/Graphics.hpp>
#include <iostream>
int main() {
sf::Clock clock;
sf::Time time1 = clock.getElapsedTime();
sf::Time time2 = clock.restart();
sf::RenderWindow myWindow(sf::VideoMode(512, 512), "SFML Window", sf::Style::Default | sf::Style::Titlebar);
while (myWindow.isOpen()) {
sf::Event openEvent;
std::cout << time1.asSeconds() << std::endl;
while (myWindow.pollEvent(openEvent))
{
switch (openEvent.type)
{
case sf::Event::Closed:
myWindow.close();
break;
myWindow.clear();
myWindow.display();
}
}
}
}
答案 0 :(得分:2)
创建时钟,然后在下一条指令中获得经过的时间(纳秒?)。然后将其转换为秒(0.000005),其表示形式是(5e-06)
答案 1 :(得分:0)
您可以计算循环外的时间。输出之前,请尝试在循环内部移动clock.getElapsedTime()。