
SFML 公式サンプル
SFML 公式サンプル の JavaScript 移植です。グラフィックス、ネイティブウィンドウ、入力、音声、通信の 24 サンプルを収録しています。Android は未移植です。
全サンプル · ビルド要件 · 機能サンプル · ゲームとアプリ
クイックスタート
リポジトリのルートで実行します。
npm ci
cd examples/official
node tennis/Tennis.cjs以下のコマンドは examples/official で実行します。各スクリプトが必要な素材を読み込みます。描画にはディスプレイと OpenGL ウィンドウのサポートが必要です。
一覧:グラフィックス · 入力とイベント · オーディオ · ネットワーク · プラットフォーム連携
グラフィックス
入力とイベント
オーディオ
録音サンプルにはマイクと OS の録音許可が必要です。
ネットワーク
sockets と VoIP は 2 つのターミナルで実行し、サーバーとクライアントをそれぞれ選択します。ローカル接続には 127.0.0.1 を指定してください。
プラットフォーム連携
nodegl のビルドには CMake、C++ コンパイラー、OpenGL 開発ライブラリ(Linux では libgl1-mesa-dev)が必要です。Vulkan には Vulkan ローダーと 4 倍の異方性フィルタリングに対応するドライバーも必要です。

OpenGL ウィンドウで回転する 6 色の立方体
操作 · 枠のドラッグでサイズ変更、Esc またはウィンドウを閉じて終了
node window/Window.cjs
macOS、Linux、Windows · ルートの npm ci で @wettstein/nodegl を導入

SFML の背景・文字と OpenGL のテクスチャ立方体を混在描画
操作 · マウスで立方体を移動、Enter で mipmap 切替、Space で sRGB 切替、Esc で終了
node opengl/OpenGL.cjs
macOS、Linux、Windows · ルートの npm ci で @wettstein/nodegl を導入

Vulkan で描画する回転テクスチャ立方体
操作 · マウスで立方体を移動、枠のドラッグでサイズ変更、Esc またはウィンドウを閉じて終了
node vulkan/Vulkan.cjs
Linux x64(X11)、Windows x64、Node.js 20+ · npm ci --prefix vulkan --ignore-scripts
Vulkan は x64 の Linux/X11 と Windows 向けで、nvk 0.8.0、Vulkan ローダー、4 倍の異方性フィルタリングに対応するドライバー・デバイスを使います。SFML はウィンドウ、イベント、サーフェスを担当し、nvk が独自のネイティブブリッジなしで Vulkan を直接呼び出します。SFML Graphics は引き続き OpenGL を使います。SFML の Vulkan 連携はコンパイル時に macOS 非対応となるため、MoltenVK の導入だけでは有効になりません。Linux/X11 と Windows のネイティブ描画と操作はどちらも検証済みです。操作と要件はプラットフォーム連携を参照してください。

macOS のネイティブ操作部品と埋め込み SFML ビュー
操作 · Update または Enter で文字を更新、Visible で表示切替、ダイヤルで回転、Color で背景色、Up/Down で拡大縮小。閉じる、Cmd+Q、Ctrl+C で終了
node cocoa/Cocoa.cjs
macOS · npm ci --prefix cocoa --ignore-scripts

Windows のネイティブウィンドウに 2 つの SFML アニメーションと Quit ボタンを配置
操作 · Quit、ウィンドウを閉じる、または Ctrl+C で終了
node win32/Win32.cjs
Windows x64、Node.js 20+ · npm ci --prefix win32 --ignore-scripts

2 つの埋め込み SFML ウィンドウで立方体が異なる速度で回転
操作 · 任意のキー、ウィンドウを閉じる操作、Ctrl+C で終了
node X11/X11.cjs
X11 を利用できる Linux · ルートの npm ci で x11 と @wettstein/nodegl を導入
出典とライセンス
SFML のサンプルを元にしています。ソースのバージョンと素材の出典は provenance.json に記録しています。
- SFML ソース:zlib ライセンス。
- 素材と作者:asset_licenses.md。
- Noto:SIL Open Font License 1.1。
- stb Perlin の移植:MIT/パブリックドメインのデュアルライセンス。








