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。
模块 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 VersionWindow: WindowBase Window Event VideoMode Context ContextSettings Cursor ns: Keyboard Mouse Joystick Touch Sensor Clipboard VulkanGraphics: 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 CoordinateTypeAudio: SoundBuffer Sound Music SoundStream SoundSource SoundRecorder* ns: Listener PlaybackDevice ; enum SoundChannelNetwork: 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
- 常见任务速查 — 游戏循环、精灵、输入、摄像机等
未展开的细节
Section titled “未展开的细节”以下主题在官方文档中存在,本站未逐函数抄录;接手具体子系统时请打开对应 class 页或头文件:
SoundRecorder/ 自定义SoundStream、完整空间化参数- OpenGL 混用 /
Context/ Vulkan surface Shader全部 uniform 重载与 GLSL 版本约定- 已弃用的
Ftp(新代码用Sftp) - Android / iOS 平台专用 API
StencilMode完整枚举与用法
若线上补丁版本晚于 3.1.0,以当时官方文档为准。