变量不从 sfml 事件循环更新

Variable don't update from sfml event loop

我正在为我的图形使用 sfml 库。在暂停期间,我想避免在屏幕上绘图。我想使用 sf::Event::MouseButtonPressed 拦截空格键。在debug模式下,事件拦截成功,但正常执行却失败,为什么?布尔变量 'paused' 似乎没有更新。

while (window.isOpen()) {
    Event event;
    while (window.pollEvent(event)) {
                /*..*/              
                if (event.type = Event::KeyPressed) {
                    if (event.key.code == Keyboard::Space) {
                        if (!paused) {
                            paused = true;// UDATE HERE
                        }
                        else
                            if (paused)
                            {
                                paused = false; // UDATE HERE
                            }
                    }
                }
    }    
    if (!paused)  //// UDATE DONT SEEM TO AFFECT HERE
    {
        /* draw here */
    }    
}

已编辑:即使尝试将变量 paused 声明为原子变量,但仍然不起作用。

使用 Event::KeyReleased 而不是 Event::KeyPressed,因为每次按下一个键导致多次输入的循环都会调用按键,而每次单击仅调用一次 Release 事件。