API 参考
正在准备搜索索引…

用于 Node.js 的窗口、图形、音频与网络接口。按模块浏览,或直接搜索 API 名称。

System

时间、向量与数据流,为各模块提供基础能力。

全部 API52
add

返回同类型值相加的新对象;向量逐分量相加,Color 通道饱和到 255。

addAssign

将 right 原地加到 left 并返回 left;不可修改只读常量。

Angle

sf::Angle 的 float32 值,按需创建原生所有权。

Clock

可暂停的单调秒表,不持有原生 SFML 句柄。

degrees

从度数创建角度,按 float32 精度存储。

divide

返回除以标量的新对象;两个 Time 或两个 Angle 相除返回数值比率。

divideAssign

将左值原地除以标量并返回左值;除数为零时抛出 RangeError。

equal

按值比较同类型操作数;浮点数精确比较,向量要求相同标量类型。

err

单例 Writable,其字节写入实际的 SFML 流。

FileInputStream

可寻址的异步文件输入,直接读取到调用者的缓冲区。

greater

判断左值是否大于右值;两者须具有相同可排序类型。

greaterEqual

判断左值是否大于等于右值;两者须具有相同可排序类型。

InputStream

可寻址的输入。每项操作均可同步或异步完成。

less

判断左值是否小于右值;支持 Time、Angle、VideoMode 和 IpAddress。

lessEqual

判断左值是否小于等于右值;两者须具有相同可排序类型。

MemoryInputStream

保留所提供的字节,不进行复制。

microseconds

从精确的有符号 64 位微秒数创建时长,超出范围时抛出 RangeError。

milliseconds

从毫秒数创建时长;向零截断后的输入必须在有符号 32 位整数范围内。

modulo

返回微秒数整数除法的余数时长,余数符号跟随 left。

moduloAssign

将时长余数写回 left 并返回 left。

multiply

返回标量缩放、变换组合或点变换的新对象;Color 按通道相乘再除以 255。

multiplyAssign

原地缩放、组合变换或调制颜色,返回左操作数。

negate

返回取负后的新对象,按原标量类型转换;不支持 Color,布尔向量值保持不变。

notEqual

返回同类型操作数是否按值不相等。

radians

从弧度值创建角度,按 float32 精度存储。

ReadonlyValue

数据成员递归只读;方法仍可返回独立的可变值。

ScalarType

向量标量类型:i/u 表示有符号/无符号整数,f 表示浮点,后缀为位数。

seconds

从秒数创建时长,使用 float32 运算并截断到整微秒。

setErrorOutput

进程级 SFML 输出:Writable 重定向,null 静默,undefined 重置。

SFMLError

SFML 绑定报告的运行时错误。

sleep

异步等待;调用线程仍可用于事件循环。

StreamResult

undefined 表示 I/O 失败;抛出异常或返回被拒绝的 Promise 会使加载操作的 Promise 被拒绝。

subtract

返回同类型值相减的新对象;Color 通道最低为 0。

subtractAssign

从 left 原地减去 right 并返回 left;Color 各通道最低为 0。

SuspendAwareClock

SFML 的 Android 时钟,包含系统挂起期间的时间。

Time

有符号微秒时长;原生 API 按值接收其 bigint。

TimeoutPredicate

每个检查周期调用一次;返回 true 继续等待,false 结束等待。

TimeoutWithPredicate

超时配置;使用此配置的操作负责等待和检查。

Unicode
isGraphemeBoundary

判断 UTF-16 索引 position 前是否为字素边界,使用 SFML 的 Unicode 规则。 起点和末尾均为边界;代理对中间不是边界,孤立代理码元按 U+FFFD 处理。

isSentenceBoundary

判断 UTF-16 索引 position 前是否为句子边界,使用 SFML 的 Unicode 规则。 起点和末尾均为边界;代理对中间不是边界,孤立代理码元按 U+FFFD 处理。

isWordBoundary

判断 UTF-16 索引 position 前是否为单词边界,使用 SFML 的 Unicode 规则。 起点和末尾均为边界;代理对中间不是边界,孤立代理码元按 U+FFFD 处理。

Vector2

sf::Vector2,原生句柄惰性绑定到其现有存储。

Vector2f

sf::Vector2,浮点型二维向量。

Vector2i

sf::Vector2,整型二维向量。

Vector2u

sf::Vector2,无符号整型二维向量。

Vector3

sf::Vector3,以其标量类型的三个连续值存储。

Vector3f

三个 float32 分量组成的向量。

Vector3i

三个有符号 32 位整数分量组成的向量。

Vector3u

三个无符号 32 位整数分量组成的向量。

version

运行时 SFML 版本,缓存为单个由原生存储支持的不可变值。

Version

当前加载的 SFML 原生库版本。

Window

窗口、输入与 OpenGL 上下文,连接应用与桌面环境。

全部 API64
Clipboard
getString

返回系统剪贴板文本;没有文本时返回空字符串。

setString

用 text 替换系统剪贴板文本。

Context

由原生端拥有的 OpenGL 上下文;激活状态仍按原生线程区分。

ContextAttribute

OpenGL 上下文属性位标志。

ContextSettings

SFML 上下文请求;省略的成员使用 SFML 默认值。

Cursor

系统光标或自定义 RGBA 像素光标。

CursorType

系统光标形状,具体支持情况取决于平台。

Event

SFML 的变体:kind 标识子类型,载荷字段保持完整。

EventData

带 kind 判别字段的事件数据联合类型。

EventHandlers

按事件种类选择性提供的同步处理函数。

EventKind

支持的窗口事件种类名称。

EventPayloads

窗口事件种类及其附带数据;位置均为客户区像素坐标。

EventVisitor

接收任意窗口事件数据的访问函数。

Joystick
getAxisPosition

返回指定轴的位置,范围 -100~100。

getButtonCount

返回指定手柄的按钮数量。

getIdentification

返回指定手柄的名称、厂商及产品标识。

hasAxis

返回手柄是否提供指定轴。

Identification

手柄设备识别信息。

isButtonPressed

查询指定手柄按钮的按下状态,编号从零开始。

isConnected

返回指定手柄是否连接,编号从零开始。

update

手动刷新手柄状态;窗口事件处理也会执行刷新。

JoystickAxis

游戏手柄坐标轴。

JoystickAxisCount

支持的坐标轴数量上限

JoystickButtonCount

支持的按钮数量上限

JoystickCount

支持的游戏手柄数量上限

Keyboard
delocalize

按当前键盘布局将逻辑键码转换为物理扫描码。

getDescription

返回物理按键的用户可读名称。

isKeyPressed

查询逻辑按键的实时按下状态,不依赖事件队列。

localize

按当前键盘布局将物理扫描码转换为逻辑键码。

setVirtualKeyboardVisible

在支持的平台显示或隐藏屏幕键盘。

KeyboardKey

随系统键盘布局变化的逻辑按键。

KeyboardKeyCount

键盘按键总数,不含 Key::Unknown

KeyboardScancode

与键盘布局无关的物理按键。

KeyboardScancodeCount

扫描码总数,不含 Scan::Unknown

Mouse
getPosition

返回鼠标像素位置;提供窗口时相对于客户区,否则相对于桌面。

isButtonPressed

查询鼠标按钮的实时按下状态。

setPosition

移动鼠标;提供窗口时使用客户区像素坐标,否则使用桌面像素坐标。

MouseButton

鼠标按钮。

MouseButtonCount

鼠标按钮总数

MouseWheel

鼠标滚轮方向。

ReadonlyContext

当前 OpenGL 上下文的只读配置接口。

Sensor
getValue

返回三轴测量值:加速度为 m/s²、角速度为度/秒、磁场为 µT、方向为度。

isAvailable

返回设备是否提供指定传感器。

setEnabled

启用或停用传感器的数据采集。

SensorCount

传感器类型总数

SensorType

传感器类型。

State

窗口初始显示状态。

Style

窗口样式位标志,可按位或组合。

Touch
getPosition

返回触点像素位置;relativeTo 指定窗口客户区,否则相对于桌面。

isDown

返回指定触点是否仍按下。

VideoMode

视频模式:像素尺寸和每像素位数。

Vulkan
getFunction

查询 Vulkan 函数地址,找不到时返回 undefined。 地址以 bigint 保留精度;调用它需要匹配函数签名的原生绑定。

getGraphicsRequiredInstanceExtensions

返回创建图形实例所需的扩展名称副本;内容取决于 SFML 平台后端。

isAvailable

查询 SFML 后端是否支持 Vulkan;false 可仅检查计算能力。

Window

带 OpenGL 上下文的操作系统窗口,可用于 Texture.update()。

WindowHandle

无损表示平台窗口句柄和 Vulkan 指针。

WindowOptions

窗口创建参数。

Graphics

纹理、形状、文字与渲染,构建二维场景。

全部 API71
BlendAdd

源颜色按 Alpha 缩放后与目标相加,只读。

BlendAlpha

标准 Alpha 透明混合,只读。

BlendEquation

源与目标颜色乘以各自因子后的组合方式。

BlendFactor

混合方程中乘到源颜色或目标颜色上的因子。

BlendMax

逐分量取源与目标的较大值,只读。

BlendMin

逐分量取源与目标的较小值,只读。

BlendMode

sf::BlendMode。值会复制到每次录制的绘制中。

BlendMultiply

源与目标逐分量相乘,只读。

BlendNone

源直接覆盖目标,不做颜色混合,只读。

CircleShape

具有 Shape 外观和变换的 sf::CircleShape 几何。

CircleShapeOptions

圆形的初始几何参数。

ClusterGrouping

文本整形时的字形簇分组方式。

Color

RGBA 颜色,四个通道各占一个字节,取值为 0~255。 写入通道按 Uint8Array 规则转换;按需与 Native 共用同一块存储。

ConvexShape

sf::ConvexShape;顶点必须按轮廓绕序组成凸多边形。

CoordinateType

纹理坐标的单位。

Drawable

sf::Drawable:重写 draw 以同步组合其他可绘制对象。

FloatRect

sf::Rect,与成员视图共享 16 字节原生存储。

Font

由原生层拥有的字体、输入存储和保留的字形图集。

FontInfo

当前字体的标识和字体特性。

Glsl
Bvec2

sf::Vector2;每个分量占用一个规范化的 0/1 字节。

Bvec3

sf::Vector3,与数值 Vector3 共用同一个原生类型族。

Bvec4

GLSL bvec4,四个布尔分量。

Ivec4

GLSL ivec4,四个有符号 32 位整数分量。

Mat3

GLSL mat3,九个列主序 float32 分量。

Mat4

GLSL mat4,十六个列主序 float32 分量。

Vec4

GLSL vec4,四个 float32 分量。

Glyph

sf::Glyph 及其矩形成员共享一块 44 字节的分配。

GlyphAppearance

字形预处理器可修改的单字形外观。

GlyphPreProcessor

同步修改字形外观的回调;执行期间不得修改或查询同一 Text 的几何。

Image

由原生层拥有的 RGBA8 像素,支持异步文件和编解码操作。

IntRect

sf::Rect,getCenter() 使用整数除法。

LineAlignment

文本行对齐方式。

PrimitiveType

SFML 3 图元类型(不支持四边形)。

ReadonlyFont

同一个字体资源的只读接口,保留字体及其字形纹理的生命周期。

ReadonlyPixels

编译时的 const 视图。运行时存储仍是同一个原生 Uint8Array。

ReadonlyRenderStates

只读绘制状态;纹理和着色器保留资源引用。

ReadonlyShader

同一个着色器程序的只读接口。

ReadonlyTexture

同一个纹理资源的编译时 const 引用。

RectangleShape

具有 Shape 外观和变换的 sf::RectangleShape 几何。

RenderStates

值成员深复制;纹理和着色器引用保持同一性。

RenderStatesInput

绘制状态输入:配置对象或单一变换、混合、模板、纹理、着色器资源。

RenderStatesOptions

可部分指定的绘制状态参数。

RenderTarget

渲染目标共享的绘制分派和命令录制。

RenderTexture

sf::RenderTexture:录制 clear/draw,在调用 display 时提交。

RenderTextureSettings

离屏渲染目标的深度、模板、抗锯齿和 OpenGL 上下文配置。

RenderWindow

同时支持 Window 窗口操作和 RenderTarget 二维绘制的窗口。

Shader

原生层拥有的程序;源码加载和编译异步执行。

ShaderType

GLSL 着色器阶段。

Shape

自定义形状通过调用 update() 发布凸顶点轮廓。

ShapedGlyph

整形后的单个字形及其布局信息。

Sprite

具有共享 Transformable API 的 sf::Sprite。

StencilComparison

比较经过掩码处理的参考值与模板缓冲区值。

StencilMode

sf::StencilMode;参考值和掩码是独立的值副本。

StencilModeOptions

模板测试初始配置,未指定字段采用 StencilMode 默认值。

StencilUpdateOperation

模板测试通过后对模板缓冲区的更新方式。

StencilValue

sf::StencilValue,包含有符号到无符号整数的转换。

swap

交换同类型资源,同时保留此前录制的绘制。

Text

使用原生顶点存储和批量绘制快照的 SFML 文本整形。

TextDirection

字形排布方向。

TextOptions

文本初始参数。

TextOrientation

横排或竖排方向。

TextStyle

文本样式位标志,可按位组合。

Texture

支持后台图像解码和有序像素上传的 GPU 纹理。

Transform

sf::Transform,从构造起使用其 64 字节列主序存储。

Transformable

具有原生层拥有的暂存区和 JS 变换计算的 sf::Transformable。

Vertex

sf::Vertex,在 20 字节中共享位置、RGBA 和纹理坐标。

VertexArray

通过每次分配期间稳定的视图公开的原生连续顶点。

VertexBuffer

Native 拥有的 GPU 存储;draw 录制句柄而不上传顶点。

VertexBufferUsage

使用字符串区分单参数的 Usage 和 PrimitiveType 构造函数。

View

值语义相机;修改和投影计算在 JS 侧完成。

Audio

播放、录音与空间音频,实时处理声音。

全部 API62
AudioWorkerContext

传给音频回调工厂的实际处理参数。

AudioWorkerModule

模块导出是接收上下文和结构化克隆数据的工厂函数。

AudioWorkerOptions

音频 Worker 模块和分块队列配置。

AudioWorkerStats

原生音频分块队列的累计统计。

ChannelMap

按交错顺序排列的声道位置只读视图。

Cone

一个原生 sf::SoundSource::Cone,通过其浮点字段暴露。

ConeInput

空间声源或监听者的方向锥参数。

EffectFrames

效果处理器实际消费和生成的帧数。

EffectProcessor

对原生浮点块进行缓冲式 DSP 处理,欠载时输出静音。

EffectProcessorCallbacks

在 Node Worker 中执行的浮点 PCM 效果回调。

EffectProcessorOptions

浮点 PCM 效果处理器的 Worker 和容量配置。

InputSoundFile

可寻址音频解码器,按调用顺序异步读取交错 16 位 PCM。

Listener
getCone

返回监听者方向锥参数副本。

getDirection

返回监听者的朝向副本。

getGlobalVolume

返回总音量百分比。

getPosition

返回监听者的三维位置副本。

getUpVector

返回监听者上方方向的副本。

getVelocity

返回监听者的速度副本。

setCone

复制方向锥参数并更新原生监听者。

setDirection

设置监听者的正前方方向。

setGlobalVolume

设置所有声源的总音量百分比,0 静音、100 为原始音量。

setPosition

设置监听者的世界坐标位置。

setUpVector

设置监听者上方方向,与正前方方向共同决定空间朝向。

setVelocity

设置监听者的速度,用于多普勒效应,单位为位置单位/秒。

Music

按块解码和播放长音频,无需一次将全部样本加载到内存。

OutputSoundFile

将交错 16 位 PCM 异步编码到音频文件,格式由文件扩展名决定。

PlaybackDevice
getAvailableDevices

返回可用播放设备名称。

getDefaultDevice

返回系统默认播放设备名称;不可用时为 undefined。

getDevice

返回当前播放设备名称;不可用时为 undefined。

getDeviceSampleRate

返回当前设备采样率(Hz);不可用时为 undefined。

isDefaultDevice

返回当前设备是否跟随系统默认设备。

Notification

音频播放设备的生命周期通知。

NotificationCallback

接收播放设备状态通知的回调。

setDevice

切换到指定名称的播放设备,返回是否成功。

setDeviceToDefault

切换到系统默认播放设备,返回是否成功。

setDeviceToNull

切换到不输出声音的空设备,返回是否成功。

setNotificationCallback

设置设备通知回调;undefined 或 null 移除回调。

ReadonlySamples

16 位交错 PCM 的只读类型视图,保留底层原生存储。

ReadonlySoundBuffer

音频缓冲区的只读接口,样本视图保留其对应的原生存储。

Sound

播放内存中的短音效,持有 SoundBuffer 以保留样本存储。

SoundBuffer

视图保留获取时对应的原生内存分配。

SoundBufferRecorder

将采集的 PCM 保存在 SoundBuffer 中的录音器。

SoundChannel

交错 PCM 声道对应的扬声器位置。

SoundFileFactory

注册项属于当前 Node 环境。

SoundFileReader

自定义音频解码器接口,读写位置以所有声道合计的样本数计。

SoundFileReaderConstructor

可注册的解码器类,需提供无参数构造函数及格式探测方法。

SoundFileReaderInfo

标量字段直接映射的 sf::SoundFileReader::Info。

SoundFileReaderInfoInput

自定义音频解码器返回的格式信息。

SoundFileWriter

自定义音频编码器接口,接受交错 16 位 PCM。

SoundFileWriterConstructor

可注册的编码器类,需提供无参数构造和文件名格式探测方法。

SoundRecorder

采集设备音频并在 Node Worker 中处理交错 16 位 PCM。

SoundRecorderCallbacks

在 Node Worker 中执行的录音回调。

SoundSource

共享控制和结果字段;所有引擎操作仍在 SFML 中执行。

SoundStatus

声源当前播放状态。

SoundStream

带缓冲的 SFML 流,由提供的模块在 Node Worker 中生成 PCM。

SoundStreamCallbacks

在 Node Worker 中执行的播放流回调。

SoundStreamChunk

samples 指向可复用的原生槽,仅在回调完成前有效。

SoundStreamOptions

自定义 PCM 播放流的格式和 Worker 配置。

TimeSpan

可修改的音频时间段,按精确微秒数存储。

TimeSpanInput

音频时间段输入。

Network

套接字、数据包与通信协议,为应用接入网络。

全部 API53
DatagramResult

单个 UDP 数据报的接收结果。

Dns
getPublicAddress

通过 OpenDNS 查询指定地址族的公网出口地址,失败返回 undefined。

MxRecord

邮件交换服务器记录。

queryMx

查询邮件交换记录;默认超时 1 秒,查询失败返回空数组。

queryNs

查询域名服务器记录;默认使用系统 DNS、超时 1 秒,查询失败返回空数组。

querySrv

查询服务发现记录(如 _service._tcp.domain);失败返回空数组。

queryTxt

查询 TXT 记录;每条记录包含多个文本段,失败返回空数组。

resolve

异步解析 IPv4/IPv6 地址,失败返回 undefined。 servers 为空时使用系统解析器,timeout 不限制该路径;指定 DNS 时默认超时 1 秒。

SrvRecord

服务发现记录。

FileType

远端文件系统条目类型。

Ftp

基于 basic-ftp 的 FTP 客户端,操作通过队列按调用顺序执行。

FtpDirectoryResponse

带工作目录路径的 FTP 响应。

FtpListingResponse

带目录条目名称的 FTP 响应。

FtpResponse

FTP 状态码和服务端消息。

FtpStatus

FTP 服务端响应码和客户端错误码。

Http

一次请求使用一条连接的 HTTP/HTTPS 客户端,不自动跟随重定向。

HttpMethod

HTTP 请求方法。

HttpRequest

可修改的 HTTP/1 请求,默认 GET /、HTTP/1.0 和空请求体。

HttpResponse

HTTP 响应状态、头字段和正文。

HttpStatus

HTTP 响应状态及客户端错误;数值保持 SFML 定义。

IpAddress

不可变 IP 地址值,支持 IPv4 和 IPv6。

IpAddressType

IP 地址族。

Packet

整数使用网络字节序;SFML 浮点数使用主机字节序。

PacketType

Packet.write/read 接受的编码类型名称。

PacketValues

Packet 编码类型及对应 JS 值;多字节整数采用网络字节序。

ReadinessType

套接字就绪条件,可按位组合。

ReadyCallback

接收本次 wait 得到的就绪位标志。

Sftp

基于 ssh2 的异步 SFTP 客户端,文件操作按调用顺序执行。

SftpAttributes

远端条目属性;服务端未提供的字段为 undefined。

SftpAttributesResult

带单个文件系统条目属性的结果。

SftpDownloadCallback

消费下载块,返回 false 提前结束;空块表示文件末尾。

SftpHostKeyType

SSH 服务端主机公钥类型。

SftpListingResult

带目录条目属性列表的结果。

SftpPathResult

带远端路径的操作结果。

SftpResult

SFTP 操作状态和消息。

SftpResultValue

SFTP 操作结果码。

SftpSessionInfo

SSH 握手协商结果,供应用核验主机公钥和算法。

SftpTimeout

无进展超时配置;收到数据或 RPC 完成时重置计时,零时长不设超时。

SftpUploadCallback

填充上传块并设置 size;返回 false 时仍发送当前块,然后结束。

SftpUploadChunk

上传回调接收的可填充数据块。

Socket

Node 网络传输的公共基类;默认使用异步等待的阻塞语义。

SocketHandle

Node TCP、UDP 或监听传输对象,不接受操作系统裸文件描述符。

SocketSelector

异步等待一组套接字就绪,并保存最近一次 wait 的结果。

SocketSendResult

原始 TCP 字节发送结果。

SocketStatus

套接字操作结果;阻塞模式通过 Promise 等待,不阻塞 Node 事件循环。

SocketTransfer

原始 TCP 字节读取结果。

SocketType

套接字使用的传输协议,对应 sf::Socket::Type。

TcpListener

监听 TCP 连接并通过 accept 将连接交给 TcpSocket。

TcpSocket

支持原始字节、SFML Packet 分帧和 TLS 升级的 TCP 套接字。

TlsStatus

TLS 升级的当前状态。

TransferMode

FTP 文件传输模式。

UdpSocket

保留数据报边界的 UDP 套接字,Packet 不附加 TCP 长度头。

Icons made by Lorc, Delapouite & Skoll · game-icons.net · CC BY 3.0