サーチ…


備考

SFMLはマルチメディアです

SFMLは、ゲームやマルチメディアアプリケーションの開発を容易にするために、PCのさまざまなコンポーネントにシンプルなインターフェイスを提供します。システム、ウィンドウ、グラフィックス、オーディオ、ネットワークの5つのモジュールで構成されています。

チュートリアルやAPIのドキュメントで、その機能を詳しく解説します

SFMLはマルチプラットフォームです

SFMLを使用すると、アプリケーションは最も一般的なオペレーティングシステム(Windows、Linux、Mac OS X、まもなくAndroid&iOS)でコンパイルしてすぐに実行できます。

ご使用のOS用のプリコンパイル済みのSDKは、 ダウンロードページから入手できます

SFMLは多言語です

SFMLにはC言語と.Net言語の公式のバインディングがあります。また、活発なコミュニティのおかげで、Java、Ruby、Python、Goなどの他の多くの言語でも利用できます。

バインディングページでそれらの詳細を学んでください

バージョン

バージョン発売日
1.0 2007-07-01
1.1 2007-09-18
1.2 2008年7月16日
1.3 2008年06月22日
1.4 2009-01-07
1.5 2009年06月04日
1.6 2010-04-06
2.0 2013-04-29
2.1 2013-07-27
2.2 2014年12月17日
2.3 2015-05-09
2.3.1 2015-07-11
2.3.2 2015-10-12
2.4.0 2016-08-10
2.4.1 2016-11-04
2.4.2 2017-02-08

インストールまたはセットアップ

  • コンピュータに簡単にアクセスできる場所に保存してください。
  • コードブロックを開く。
  • [プロジェクト] - [ビルドオプション] - [リンカ設定]タブに移動します。
  • [ 追加 ]ボタンをクリックし、SFMLのbinフォルダに移動してそこにあるすべてのファイルを選択します。
  • 次に、Search Directoriesタブに移動し、SFMLの 'include'フォルダを追加します。
  • 同じタブで、[Linker Settings]サブタブをクリックし、[bin]フォルダを追加します。

基本SFMLプログラム

すべてが正しく設定されていれば、次のスニペットでは「SFMLが動作します!」というウィンドウが表示されます。緑色の円で:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

インストール - Linux

SFMLのLinuxへのインストールには、さまざまなアプローチがあります。

  1. ディストリビューションのパッケージリポジトリから直接インストールする
  2. ソースコードを入手してビルドしてインストールする
  3. プリコンパイルされたSDKをダウンロードし、ファイルを手動でコピーする

オプション1が推奨されます。インストールするSFMLのバージョンが公式リポジトリで使用可能な場合は、パッケージマネージャを使用してインストールします。たとえば、Debianでは次のようになります:

sudo apt-get install libsfml-dev

オプション2はより多くの作業を必要とします:開発ヘッダーを含むSFMLの依存関係をすべて利用できるようにし、CMakeがインストールされていることを確認し、いくつかのコマンドを手動で実行する必要があります。これにより、システムに合ったパッケージが作成されます。このようにしたい場合は、 SFMLを自分で構築するための専用のチュートリアルがあります

最後に、SFMLが公式パッケージとして利用できない場合、オプション3は迅速なインストールに適しています。ダウンロードページからSDKをダウンロードし、解凍して個人用フォルダ内の別のパス(/ home / me / sfmlなど)または標準パス(/ usr / localなど)のいずれかの場所にファイルをコピーします。

既に古いバージョンのSFMLがインストールされている場合は、新しいバージョンと競合しないことを確認してください。

インストール - Windows

SFMLをWindowsにインストールする最も一般的な方法は、 公式のSDKをダウンロードすることです

その後、アーカイブを解凍し、選択した環境で使用することができます。

vcpkg

それはまだ開発中ですが、Visual Studio 2017以降を使用している場合は、Visual Studioと統合されたvcpkgを使用してSFMLをインストールすることもでき、インストールプロセスが大幅に簡素化されます。

vcpkg install sfml

Insallation - macOS

まず、SFML SDKをダウンロードする必要があります。 SFMLアプリケーションの開発を開始するには、次の項目をインストールする必要があります。

ヘッダーファイルとライブラリ

SFMLは、dylibまたはフレームワークとして利用できます。同じシステムに同時にインストールすることはできますが、1種類のバイナリしか必要ありません。フレームワークを使用することをお勧めします。

フレームワーク

  • フレームワークの内容を/ Library / Frameworksにコピーします。

ジリブ

  • libの内容を/ usr / local / libにコピーし、includeの内容を/ usr / local / includeにコピーします。

SFMLの依存関係

SFMLはMac OS Xのいくつかの外部ライブラリに依存しています。extlibの内容を/ Library / Frameworksにコピーします。

Xcodeテンプレート

Xcodeを使用する場合は、テンプレートをインストールすることを強くお勧めします。 SFMLディレクトリをテンプレートから/ Library / Developer / Xcode / Templatesにコピーします(フォルダがまだ存在しない場合は作成します)。

SFMLウィンドウのHello World

小さなプログラムを書いてウィンドウを開き、画面に "Hello World"と書いてみましょう。

#include <SFML\Graphics.hpp>
#include <cassert>

int main() {
    sf::RenderWindow sfmlWin(sf::VideoMode(600, 360), "Hello World SFML Window");
    sf::Font font;
    //You need to pass the font file location
    if (!font.loadFromFile(/*
                           Put the filename that identify the font file you want to load*/"myfont.ttf")) {
        return -1;
    }
    sf::Text message("Hello, World !", font);

    while (sfmlWin.isOpen()) {

        sf::Event e;
        while (sfmlWin.pollEvent(e)) {

            switch (e.type) {
            case sf::Event::EventType::Closed:
                sfmlWin.close();
                break;
            }
        }

        sfmlWin.clear();
        sfmlWin.draw(message);
        sfmlWin.display();
    }
    return 0;
}

私たちが何をしたのかを説明しましょう。

最初に、 sf::Fontオブジェクトを作成しました。テキストを表示するために使用するフォントデータを格納するには、このオブジェクトが必要です。その後、メモリにフォントをロードするために使用されるloadFromFileメソッドを呼び出しました。 SFMLはあなたのシステムフォントを知らないので、フォント名ではなくファイル名を指定する必要があります

その後、 sf::Textオブジェクトを作成しました。我々は3つのパラメータのコンストラクタを呼び出す:

  • 表示したい文字列
  • オブジェクトが使用するフォント
  • ここでは渡さなかったピクセル単位の文字サイズは、ilがデフォルト値に設定されます:30

sf::Textオブジェクトは準備ができているので、前に作成したsfmlWinレンダリングウィンドウオブジェクトのdrawメソッドを呼び出すだけで、メインのsfmlループに描画する必要があります



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow