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

时间:2014-02-01 17:27:24

标签: c++ sfml

我正在使用SFML,这是我第一次真正使用库,但我对C ++有很好的了解。如何访问main之外的窗口函数? e.g。

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;
}

1 个答案:

答案 0 :(得分:0)

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

如果您对C ++有相当的了解,可以使用指针和引用参数:

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

无论如何,为了在屏幕上显示图像你需要在一段时间内做到这一点,因为,你如何写这个,你将只显示1帧或更少的图像,因为你不知道窗口是否是仍然开放。