2012-07-23 22 views
5

Cóż, próbowałem zrobić wszystko, jak pokazano w tutorial, ale po prostu pokazuje konsolę i nic więcej. Próbowałem ten program zegara i działa dobrze. Połączyłem wszystkie biblioteki i skopiowałem wszystkie pliki .dll, więc naprawdę nie wiem, gdzie się mylę. Powiedz proszę, co zrobić, aby pokazać, że wyświetla okno. Używam VS2010, SFML 1.6 i oto mój kod.Błąd tworzenia okien C++/SFML

#include <SFML\Window.hpp> 

    int main() 
    { 

     sf::Window App(sf::VideoMode(640, 480, 32), "wut"); 

     while (App.IsOpened()) 
     { 
       sf::Event Event; 
       while (App.GetEvent(Event)) 
       { 
       // Window closed 
       if (Event.Type == sf::Event::Closed) 
        App.Close(); 

       // Escape key pressed 
       if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape)) 
        App.Close();   
       }; 
       App.Display(); 

      } 
    }; 

Odpowiedz

0

Spróbuj tego:

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

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

    // Start game loop 
    while (App.IsOpened()) 
    { 
     // Process events 
     sf::Event Event; 
     while (App.GetEvent(Event)) 
     { 
      // Close window : exit 
      if (Event.Type == sf::Event::Closed) 
       App.Close(); 
     } 

     // Clear the screen (fill it with black color) 
     App.Clear(); 

     // Display window contents on screen 
     App.Display(); 
    } 

    return EXIT_SUCCESS; 
} 
+0

Nadal wyświetla tylko konsolę, a okno się nie wyświetla. Nie mam błędów ani ostrzeżeń w moim VS 2010. Potrzebuję tego wszystkiego tak szybko, jak to możliwe. Mam nadzieję, że istnieje sposób, aby to zadziałało, lub jest jakiś silnik graficzny tak prosty jak SMFL (obiekt zorientowany ofc). – Dreat

0

Czy połączyć przeciwko biblioteki SFML-main? Jeśli nie, spróbuj, jeśli to się nie powiedzie, spróbuj wykonać funkcję WinMain zamiast funkcji main(). Upewnij się również, że Visual Studio nie ustawiło twojego projektu w programie konsolowym.

0

Ostatnio dużo korzystałem z SFML. Spróbuj tych sugestii w porządku, utrzymanie każdego poprzedniego zmiany:

#include <SFML/System.hpp> 
#include <SFML/Window.hpp> 
#include <SFML/Graphics.hpp> 

Powinno być sf :: RenderWindow nie sf :: Okno

Należy while (App.isOpen()) nie IsOpened()

jeśli to robi wydaje się mieć funkcję "isOpen" na twoim RenderWindow, prawdopodobnie nie masz SFML2, które polecam od razu.

Czy odbudowałeś biblioteki dla swojego komputera, czy po prostu próbowałeś użyć dostarczonych plików .dll? Konieczne może być przebudowanie ich przy użyciu programu Cmake i dowolnego innego kompilatora. Wiem, że to zrobiłem.

Wreszcie, zalecam również używanie najnowszego Code :: Blocks jako twojego IDE, ale domyślam się, że to tylko ostatnia deska ratunku.