
Simple and Fast Multimedia Library
SFML 的 Node.js 绑定。用 JavaScript 或 TypeScript 创建原生窗口、绘制二维图形、播放音频。
npm install sfml.jsmacOS / Windows / Linux
基于 SFML 3.1 · 了解 SFMLRenderWindow · CircleShape · Color
创建 RenderWindow,绘制 CircleShape,再显示这一帧。SFML 负责窗口与渲染,JavaScript 驱动循环。包内附带 TypeScript 类型声明。
安装与运行指南在桌面图形环境中运行。按 Esc 关闭窗口;setImmediate 为帧间的 Node.js I/O 留出执行机会。
node hello.cjsconst sf = require('sfml.js');
const win = new sf.RenderWindow(
new sf.VideoMode(new sf.Vector2u(800, 600)),
'Hello, sfml.js',
);
const circle = new sf.CircleShape({ radius: 80 });
circle.setPosition(new sf.Vector2f(320, 220));
circle.setFillColor(new sf.Color(108, 190, 82));
win.setFramerateLimit(60);
function frame() {
win.handleEvents({
Closed: () => win.close(),
KeyPressed: e => {
if (e.code === sf.Keyboard.Key.Escape) win.close();
},
});
if (!win.isOpen()) return;
win.clear(new sf.Color(24, 28, 32));
win.draw(circle);
win.display();
setImmediate(frame);
}
frame();运行图形、文字、着色器、音频录制与网络通信示例。
结合 SFML C++ 文档与绑定的类型参考阅读。本站指南说明 Promise、共享类型化数组、资源生命周期与 Node.js 中的批量渲染。