2012-07-23 16 views
5

Bene, ho provato a fare tutto come mostrato in tutorial, ma mostra solo console e nient'altro. Ho provato questo programma di clock e funziona perfettamente. Ho collegato tutte le librerie e copiato tutti i file .dll, quindi davvero non so dove ho sbagliato. Per favore dimmi cosa fare per mostrare falla mostrare la finestra. Sto usando VS2010, SFML 1.6 e qui c'è il mio codice.Creazione di finestre C++/SFML fallita

#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(); 

      } 
    }; 

risposta

0

Prova questo:

#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

Ancora mostra solo la console e la finestra non verrà visualizzata. Non ho né errori né avvisi nel mio VS 2010. Ho bisogno di tutto questo il prima possibile. Spero che ci sia un modo per farlo funzionare, o c'è qualche motore grafico facile come SMFL (object oriented ofc). – Dreat

0

Ti Link contro biblioteca SFML-principale? In caso contrario, prova che, se ciò non riesce, prova a fare un WinMain anziché la funzione main(). Inoltre, assicurarsi che Visual Studio non abbia impostato il progetto su un programma di console.

0

Ho utilizzato SFML molto recentemente. Prova questi suggerimenti in ordine, mantenendo ogni cambio precedente:

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

Dovrebbe essere sf :: RenderWindow, non sf :: Finestra

Va while (App.isOpen()) non IsOpened()

Se doesnt sembra avere la funzione "isOpen" sul tuo RenderWindow, probabilmente non hai SFML2, che consiglio di ottenere immediatamente.

Hai ricostruito le librerie per il tuo computer o hai appena provato e utilizzato i file .dll che forniscono? Potrebbe essere necessario ricostruirli usando Cmake e qualunque sia il tuo compilatore. So che l'ho fatto.

Infine, consiglio anche di utilizzare l'ultimo Code :: Blocks come IDE, ma suppongo che cambi solo come ultima risorsa.