SFMLの始め方


  1. SFMLのインストール: まず、SFMLを公式ウェブサイト(https://www.sfml-dev.org/)からダウンロードしてインストールします。適切なバージョンを選択し、オペレーティングシステムに合わせた手順に従ってインストールを行います

  2. 基本的なウィンドウの表示: 以下は、SFMLを使用してウィンドウを表示する基本的なコード例です。

#include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML Window");
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
        window.clear();
        // ウィンドウに描画するコードをここに追加する
        window.display();
    }
    return 0;
}

このコードでは、800x600ピクセルのウィンドウが表示され、ウィンドウが閉じられるまでループが実行されます。

  1. 図形の描画: SFMLを使用して図形を描画するには、sf::Shapeの派生クラスを使用します。以下は、矩形を描画するコード例です。
#include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML Window");
    sf::RectangleShape rectangle(sf::Vector2f(100, 50));
    rectangle.setPosition(200, 200);
    rectangle.setFillColor(sf::Color::Red);
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
        window.clear();
        window.draw(rectangle);
        window.display();
    }
    return 0;
}

このコードでは、赤い色の矩形がウィンドウに表示されます。

  1. ユーザーの入力の処理: SFMLを使用してユーザーの入力を処理するには、sf::Eventを使用します。以下は、キーボード入力を処理するコード例です。
#include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML Window");
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
            if (event.type == sf::Event::KeyPressed)
            {
                if (event.key.code == sf::Keyboard::Escape)
                    window.close();
            }
        }
        window.clear();
        window.display();
    }
    return 0;
}

このコードでは、ウィンドウが表示された状態で「Esc」キーを押すとウィンドウが閉じられます。

これらのコード例は、SFMLを始めるための基本的なスタートコードです。SFMLにはさまざまな機能やクラスがありますので、自分のプロジェクトの要件に合わせてさらに詳細な機能を追加することができます。詳細なドキュメントやチュートリアルは、SFMLの公式ウェブサイトで入手できます。