2012-07-23 4 views
5

Nun, ich habe versucht, alles wie in gezeigt, aber es zeigt nur Konsole und nichts mehr. Versuchte dieses Uhrprogramm und es funktioniert gut. Ich habe alle Bibliotheken verbunden und alle .dll-Dateien kopiert, also weiß ich wirklich nicht, wo ich falsch liege. Bitte sagen Sie mir, was ich tun soll, damit es Fenster zeigt. Ich benutze VS2010, SFML 1.6 und hier ist mein Code.C++/SFML Fenster Erstellung fehlgeschlagen

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

      } 
    }; 

Antwort

0

Try this:

#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

Noch zeigt es nur Konsole, und Fenster wird nicht angezeigt. Ich habe weder Fehler noch Warnungen in meinem VS 2010. Ich brauche das alles so schnell wie möglich. Ich hoffe, es gibt einen Weg, um es zum Laufen zu bringen, oder es gibt eine Grafik-Engine, die so einfach ist wie SMFL (Object Oriented Ofc). – Dreat

0

Sie verknüpfen Sie gegen SFML-Haupt-Bibliothek? Falls nicht, versuchen Sie das, wenn das fehlschlägt, versuchen Sie eine WinMain statt main() -Funktion zu tun. Stellen Sie außerdem sicher, dass Visual Studio Ihr Projekt nicht auf ein Konsolenprogramm festgelegt hat.

0

Ich habe in letzter Zeit viel SFML verwendet. Versuchen Sie diese Vorschläge, um, jede vorherige Änderung halten:

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

Es sollte sf sein :: RenderWindow, nicht sf :: Fenster

Es ist zu while (App.isOpen()) nicht IsOpened()

Wenn es tut scheinen die Funktion "isOpen" auf Ihrem RenderWindow zu haben, haben Sie wahrscheinlich nicht SFML2, was ich empfehle sofort zu bekommen.

Haben Sie die Bibliotheken für Ihren Computer neu erstellt, oder haben Sie nur versucht, die bereitgestellten DLLs zu verwenden? Möglicherweise müssen Sie sie mit Cmake und was auch immer Ihr Compiler ist neu erstellen. Ich weiß, dass ich es getan habe.

Schließlich empfehle ich auch die Verwendung der neuesten Code :: Blocks als Ihre IDE, aber ich schätze nur als letzten Ausweg.