使用window.draw()在主SFML外部

Using window.draw() outside of main SFML

本文关键字:在主 SFML 外部 window draw 使用      更新时间:2023-10-16

我正在使用sfml,这是我第一次真正使用库,但我在C 方面有不错的知识。如何在Main之外访问窗口功能?例如

void checkWin()
{
    if (iFilled[0] == 1 && iFilled[1] == 1 && iFilled[2] == 1) {
    RectangleShape line(Vector2f(150, 5));
    line.setPosition(10, 450);
    window.draw(line); //error window is inside of main()
    }
}

int main()
{
RenderWindow window;
window.create(VideoMode(800, 600), "Red vs. Green Peppers", Style::Close);
    //more code
return 0;
}

首先,您需要从SFML网站检查这些教程:http://www.sfml-dev.org/tutorials/2.1/。

如果您在C 方面有体面的知识,则可以使用指针和参考参数:

    void checkWin( sf::RenderWindow &window) { ... }

无论如何,要在屏幕上显示图像,您需要在一段时间内完成此操作,因为您的编写方式,您将仅显示1帧或更少的图像,因为您不知道窗口是否是仍然打开。