跳转到内容

SFML 3.1 概述

SFML(Simple and Fast Multimedia Library)是跨平台的多媒体库,常用于轻量游戏、工具与原型。本站内容基于 SFML 3.1.0(SFML_VERSION_MAJOR=3, MINOR=1, PATCH=0),对照官方文档与 SFML/SFML@3.1.0 头文件整理,不替代官方文档。

  • 语言标准:C++17
  • 最低编译器:MSVC 16 / GCC 9 / Clang 9 / AppleClang 12

头文件习惯:#include <SFML/Module.hpp>,或更细的 #include <SFML/Graphics/Sprite.hpp>。模块聚合头:System.hpp、Window.hpp、Graphics.hpp、Audio.hpp、Network.hpp。

类型 URL
API 文档首页 https://www.sfml-dev.org/documentation/3.1.0/
Topics(五模块) https://www.sfml-dev.org/documentation/3.1.0/topics.html
教程总览 https://www.sfml-dev.org/tutorials/3.1/
2→3 迁移 https://www.sfml-dev.org/tutorials/3.1/migration/sfml-2/
3.0→3.1 迁移 https://www.sfml-dev.org/tutorials/3.1/migration/sfml-3.0/
migration.md(源码) https://github.com/SFML/SFML/blob/3.1.0/migration.md
CMake 模板教程 https://www.sfml-dev.org/tutorials/3.1/getting-started/cmake/

模块 group 页位于 documentation/3.1.0/ 下:group__system.html、group__window.html、group__graphics.html、group__audio.html、group__network.html。

System: Time Clock Angle Vector2 Vector3 String InputStream* Utf Exception Version
Window: WindowBase Window Event VideoMode Context ContextSettings Cursor
ns: Keyboard Mouse Joystick Touch Sensor Clipboard Vulkan
Graphics: RenderWindow RenderTexture RenderTarget View
Texture Image Sprite Font Text Shape Circle/Rectangle/Convex
Vertex VertexArray VertexBuffer Shader Transform Transformable
Drawable Color Rect BlendMode RenderStates StencilMode CoordinateType
Audio: SoundBuffer Sound Music SoundStream SoundSource SoundRecorder*
ns: Listener PlaybackDevice ; enum SoundChannel
Network: TcpSocket TcpListener UdpSocket Socket SocketSelector Packet
IpAddress Http Ftp(deprecated) Sftp ; ns: Dns
  • CMake 与链接 — find_package、目标名、依赖与版本查询
  • System — Time、Clock、Angle、Vector、Rect、String
  • Window — 窗口、事件、输入
  • Graphics — 绘制、纹理、文字、着色器
  • Audio — 音效、音乐、播放设备
  • Network — Socket、DNS、HTTP/SFTP
  • 迁移指南 — 2→3 与 3.0→3.1
  • 常见任务速查 — 游戏循环、精灵、输入、摄像机等

以下主题在官方文档中存在,本站未逐函数抄录;接手具体子系统时请打开对应 class 页或头文件:

  • SoundRecorder / 自定义 SoundStream、完整空间化参数
  • OpenGL 混用 / Context / Vulkan surface
  • Shader 全部 uniform 重载与 GLSL 版本约定
  • 已弃用的 Ftp(新代码用 Sftp)
  • Android / iOS 平台专用 API
  • StencilMode 完整枚举与用法

若线上补丁版本晚于 3.1.0,以当时官方文档为准。