由于某种奇怪的原因,屏幕没有清除。我已将其设置为在绘制了levelMainDraw之后4秒后它应该清除屏幕。由于某种原因,它不是。我将DrawMainMenu设置为true,将levelMainDraw设置为false,默认情况下位于代码顶部。
//Checks if DrawMainMenu is true or false
if (DrawMainMenu == true) {
window.draw(mainMenuSprite);
window.draw(rect);
window.draw(buttonText);
}
else if (DrawMainMenu == false){
window.clear();
levelMainDraw = true;
}
//checks if levelMainDraw is true or false
if (levelMainDraw == true)
{
window.draw(levelSelectSprite);
sf::Clock clock;
sf::Time time = clock.getElapsedTime();
if (time.asSeconds() >= 4)
{
window.clear();
}
答案 0 :(得分:1)
每次检查经过的时间时,您都在创建一个新时钟。
这意味着您永远不会清除屏幕,因为每次创建时钟都会“重置”。
实际上,上一个周期的时钟不再存在,并且将创建一个新的,其中timer = 0。
如果你想测量经过的时间,你需要在游戏中创建一个持久的实体。