2011-10-28 80 views
0

所以我试图让SFML与Visual C++ 2010一起工作,它现在会打开窗口,但它看起来像这样。 SFML RenderWindow奇怪的字符

当您尝试移动或关闭窗口时,窗口也不响应。 这里是我的代码:

//////////////////////////////////////////////////////////// 
// Headers 
//////////////////////////////////////////////////////////// 
#include <SFML/Graphics.hpp> 

int main() 
{ 
    // Create the main window 
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Window"); 

    while (true) 
    { 
     App.Clear(); 


     App.Display(); 
    } 

    return EXIT_SUCCESS; 
} 

回答

2

你必须轮询事件的每一帧,让操作系统的窗口响应。如果你不这样做,你不会移动或关闭它。

#include <SFML/Graphics.hpp> 
int main() 
{ 
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Window"); 
    while (App.IsOpened()) 
    { 
     App.Clear(); 
     sf::Event event; 
     while (App.PollEvent(event)) 
     { 
      if (event.Type == sf::Event::Closed) 
       App.Close(); 
     } 
     App.Display(); 
    } 
    return EXIT_SUCCESS; 
} 

如果使用SFML 1.6,改变PollEventGetEvent。阅读文档。