【发布时间】:2018-04-08 19:22:33
【问题描述】:
我正在做一个SFML框架,所以我做了一个延迟时间的函数。我没有使用sf::sleep,因为它会停止整个应用程序。所以我用了一个时钟,但它不起作用。这是代码:
void FM::time::waitForSeconds(float seconds){
bool finished = false;
float elapsedTime = 0;
sf::Clock clock;
while (!finished) {
elapsedTime += clock.getElapsedTime().asSeconds();
if (elapsedTime >= seconds) {
finished = true;
clock.restart();
}
}
}
【问题讨论】:
-
这和睡眠没有什么不同,只是会消耗大量的cpu,并且等待的时间会稍微准确一些。即使您修复了代码,这也会阻止应用程序。