5

さて、チュートリアルに示されているようにすべてを実行しようとしましたが、コンソールのみが表示され、それ以上は表示されません。この時計プログラムを試したところ、問題なく動作しました。すべてのライブラリを接続し、すべての .dll ファイルをコピーしたので、どこが間違っているのか本当にわかりません。ショーウィンドウにする方法を教えてください。私はVS2010、SFML 1.6を使用しています。これが私のコードです。

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

          }
     };
4

4 に答える 4

0

sfml-main ライブラリにリンクしていますか? そうでない場合は、それを試してください。それが失敗した場合は、main() 関数の代わりにWinMainを実行してみてください。また、Visual Studio がプロジェクトをコンソール プログラムに設定していないことを確認してください。

于 2012-11-24T21:33:57.717 に答える
0

これを試して:

#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;
}
于 2012-07-31T19:03:17.097 に答える
0

最近SFMLをよく使っています。以前の各変更を維持しながら、次の提案を順番に試してください。

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

sf::Window ではなく、sf::RenderWindow である必要があります。

while (App.isOpen())IsOpened()であってはなりません

RenderWindow に "isOpen" 関数がないように見える場合は、おそらく SFML2 を持っていないので、すぐに入手することをお勧めします。

コンピュータのライブラリを再構築しましたか、それともライブラリが提供する .dll を試して使用しましたか? Cmake を使用してそれらを再構築する必要がある場合があり、コンパイラが何であれ。私がしたことを知っています。

最後に、代わりに最新の Code::Blocks を IDE として使用することもお勧めしますが、切り替えは最後の手段にすぎないと思います。

于 2014-03-18T18:06:32.597 に答える