SFML (Simple and Fast Multimedia Library) är ett portabelt och lättanvänt multimedia-API skrivet i C++, men bindningar finns till ett flertal populära programmeringsspråk. Det är känt som ett modernt, objektorienterat alternativ till SDL. SFML tillhandahåller moduler för att rendera hårdvaruaccelererad grafik med hjälp av OpenGL, samt ljud och nätverksmoduler som kan användas fristående från varandra för att skapa allt från kompletta spel till multimedia-applikationer.

Moduler SFML består av ett antal moduler som har flera klasser under sig, följande moduler finnsSFML 2.0 modulerSFML Features : Audio module, tillhandahåller ett gränssnitt för att hantera ljud och musik. Graphics module , gör det enkelt att rendera enkel geometri och bilder. Network module, bland annat klasser för att använda HTTP- och FTP-Internet-protokoll System module , hanterar klocka och trådar. Window module , hanterar fönster och användarinteraktioner.

Exempel Programmet nedanför ger en snabb överblick över SFML 2.x. Koden öppnar ett fönster innehållande en rektangel med ram som kan styras med piltangenterna: #include <SFML/Graphics.hpp>

int main() { sf::RenderWindow window(sf::VideoMode(800, 600), "Hello world!");

sf::RectangleShape rectangle(sf::Vector2f(128, 128)); rectangle.setPosition(100, 100); rectangle.setFillColor(sf::Color::Red); rectangle.setOutlineColor(sf::Color::Blue); rectangle.setOutlineThickness(2);

while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Closed: window.close(); break; case sf::Event::KeyPressed: switch (event.key.code) { case sf::Keyboard::Escape: window.close(); break;

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) { rectangle.move(0, -10);

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) { rectangle.move(0, 10);

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) { rectangle.move(-10, 0);

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) { rectangle.move(10, 0);

window.clear();

window.draw(rectangle);

window.display();

Språkstöd SFML kan användas via språkbindningar och stöds av ett flertal. Versionen i listan indikerar med vilken version språket fått stöd. Officiella språkbindningar C++ : 2.2 C : 2.2 .NET : 2.2

Externa bindningar Ada : 2.5 Python : 2.2 D : 2.1 Ruby : RC-2.0 OCaml : 2.0OCaml bindings for SFML JavaJSFML - Simple and Fast Multimedia Library for Java

Se även

SDL Pygame

Versionshistorik 1.0 (juli 2007) 1.1 (18 september 2007) 1.2 (16 januari 2008) 1.3 (22 juni 2008) 1.4 (7 januari 2009) 1.5 (4 juni 2009) 1.6 (6 april 2010) : Mest en buggfix-version 2.0 (29 april 2013) 2.1 (27 juli 2013) 2.2 (17 december 2014)

Referenser

Externa länkar SFML - Officiell webbplats

Kategori:Datorprogram för datorspelsutveckling