2017-11-28 4 views
1

私は解決策を見つけることができないいくつかのばかげた問題があります。私はビジュアルスタジオ2017コミュニティを使用しています。黒の背景と青い円でウィンドウを作成したいと思います。私はC++とSFML 2.4.2を使用しています。現時点では、白い空のウィンドウが表示されます。SFML 2.4.2はVS 2017コミュニティでは描画されません

//Main Function 
int main() { 

    sf::RenderWindow window(sf::VideoMode(800, 800), "Window Name");  

    sf::CircleShape creature; 
    creature.setRadius(50); 
    creature.setFillColor(sf::Color::Blue); 
    creature.setPosition(400, 400); 

    while (window.isOpen()) 
    { 
     sf::Event event; 
     while (window.pollEvent(event)) 
     { 
      if (event.type == sf::Event::Closed) 
       window.close(); 
     } 
     window.clear(); 
     window.draw(creature); 
     cout << "Creature draws"; 
     window.display(); 
    }  
    system("PAUSE"); 
    return 0; 
} 

どこにもエラーが表示されず、SFMLが正しく組み込まれていることを何度も確認しました。そのような質問をして申し訳ありませんが、私は助けてうれしいです。

+0

どうしますか?黒い窓?窓なし?あなたはコンソールの出力を見ますか? – nvoigt

+0

ちょうど白いウィンドウが表示されます。コンソールには、「Creature draws」というテキストが何度も繰り返し表示されます。 – pgalle

答えて

1
window.display() 

これはwhileループ内にある必要があります。そうでないと、ウィンドウを閉じるまでsfmlは何も表示しません。

+0

私はそれをwhileループに入れます。まだSFMLが何かを描くはずの白いウィンドウはありません。私はcoutとテストして、プログラムはすべての位置に到達しました。 – pgalle

+0

あなたのクリア機能に黒色を渡してみて、ウィンドウが何をするのか教えてください。 –

0

私はプロジェクト全体を再作成し、同じようにすべてを設定し直しました。これも役に立たなかった。だから私はSFMLをプロジェクトに直接インストールする方法を教えてくれた別のチュートリアルに続き、今はうまくいくようです。あなたの時間とeffordありがとう!

関連する問題