2011-10-28 110 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。閱讀文檔。