sfml Tutorial
Iniziare con sfml
Ricerca…
Osservazioni
SFML è multimediale
SFML fornisce un'interfaccia semplice ai vari componenti del PC, per facilitare lo sviluppo di giochi e applicazioni multimediali. È composto da cinque moduli: sistema, finestra, grafica, audio e rete.
Scopri le loro funzionalità più in dettaglio nelle esercitazioni e nella documentazione dell'API .
SFML è multipiattaforma
Con SFML, l'applicazione può essere compilata e pronta per l'uso sui più comuni sistemi operativi: Windows, Linux, Mac OS X e presto Android e iOS.
Gli SDK precompilati per il tuo sistema operativo preferito sono disponibili nella pagina di download .
SFML è multilingue
SFML ha collegamenti ufficiali per le lingue C e .Net. E grazie alla sua comunità attiva, è anche disponibile in molti altri linguaggi come Java, Ruby, Python, Go e altro.
Scopri di più su di loro sulla pagina dei binding .
Versioni
Versione | Data di rilascio |
---|---|
1.0 | 2007-07-01 |
1.1 | 2007-09-18 |
1.2 | 2008-07-16 |
1.3 | 2008-06-22 |
1.4 | 2009-01-07 |
1.5 | 2009-06-04 |
1.6 | 2010-04-06 |
2.0 | 2013/04/29 |
2.1 | 2013/07/27 |
2.2 | 2014/12/17 |
2.3 | 2015/05/09 |
2.3.1 | 2015/07/11 |
2.3.2 | 2015/10/12 |
2.4.0 | 2016/08/10 |
2.4.1 | 2016/11/04 |
2.4.2 | 2017/02/08 |
Installazione o configurazione
- Per prima cosa, scarica una copia di SFML dalla pagina ufficiale .
- Salvalo ovunque nel tuo computer dove può essere facilmente accessibile.
- Apri Codeblocks.
- Vai a Progetto-> Opzioni di costruzione-> scheda Impostazioni linker.
- Fare clic sul pulsante Aggiungi e andare alla cartella bin di SFML e selezionare tutti i file presenti.
- Ora vai alla scheda Cerca nelle directory e aggiungi la cartella "include" di SFML.
- Nella stessa scheda, fai clic sulla sottoscheda Impostazioni linker e aggiungi la cartella "bin".
Programma SFML di base
Se tutto è stato impostato correttamente, lo snippet seguente mostrerà una finestra intitolata "Funziona SFML!" con un cerchio verde:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Installazione - Linux
Esistono diversi approcci all'installazione di SFML su Linux:
- Installalo direttamente dal repository dei pacchetti della tua distribuzione
- Ottieni il codice sorgente, costruiscilo e installalo
- Scarica l'SDK precompilato e copia manualmente i file
L'opzione 1 è quella preferita; se la versione di SFML che si desidera installare è disponibile nel repository ufficiale, installarla utilizzando il proprio gestore di pacchetti. Ad esempio, su Debian puoi fare:
sudo apt-get install libsfml-dev
L'opzione 2 richiede più lavoro: è necessario assicurarsi che tutte le dipendenze di SFML, incluse le intestazioni di sviluppo, siano disponibili, assicurarsi che CMake sia installato e eseguire manualmente alcuni comandi. Ciò si tradurrà in un pacchetto che è su misura per il vostro sistema. Se vuoi andare in questo modo, c'è un tutorial dedicato sulla costruzione di SFML da solo .
Infine, l'opzione 3 è una buona scelta per l'installazione rapida se SFML non è disponibile come pacchetto ufficiale. Scarica l'SDK dalla pagina di download, decomprimilo e copia i file nella posizione preferita: un percorso separato nella cartella personale (come / home / me / sfml) o un percorso standard (come / usr / local).
Se hai già installato una versione precedente di SFML, assicurati che non sia in conflitto con la nuova versione!
Installazione - Windows
Il modo più comune per installare SFML su Windows è scaricare l' SDK ufficiale
È quindi possibile decomprimere l'archivio e utilizzarlo nel proprio ambiente preferito.
vcpkg
Sebbene sia ancora in fase di sviluppo, se si utilizza Visual Studio 2017 o versione successiva, è possibile installare SFML tramite vcpkg che si integra con Visual Studio, semplificando notevolmente il processo di installazione:
vcpkg install sfml
Insallation - macOS
Prima di tutto è necessario scaricare l'SDK SFML. Quindi, per iniziare a sviluppare applicazioni SFML, è necessario installare i seguenti elementi:
File e librerie di intestazione
SFML è disponibile sia come dylibs che come framework. È richiesto un solo tipo di binario, sebbene entrambi possano essere installati contemporaneamente sullo stesso sistema. Raccomandiamo l'uso dei framework.
Frameworks
- Copia il contenuto di Framework in / Library / Frameworks.
dylib
- Copia il contenuto di lib in / usr / local / lib e copia il contenuto di include in / usr / local / include.
Dipendenze SFML
SFML dipende da alcune librerie esterne su Mac OS X. Copia il contenuto delle estensioni su / Library / Frameworks.
Modelli Xcode
Se usi Xcode, l'installazione dei modelli è fortemente raccomandata. Copia la directory SFML dai modelli a / Library / Developer / Xcode / Templates (crea le cartelle se non esistono ancora).
Ciao mondo in una finestra SFML
Scriviamo un piccolo programma che aprirà una finestra e scriverai "Hello World" sullo schermo.
#include <SFML\Graphics.hpp>
#include <cassert>
int main() {
sf::RenderWindow sfmlWin(sf::VideoMode(600, 360), "Hello World SFML Window");
sf::Font font;
//You need to pass the font file location
if (!font.loadFromFile(/*
Put the filename that identify the font file you want to load*/"myfont.ttf")) {
return -1;
}
sf::Text message("Hello, World !", font);
while (sfmlWin.isOpen()) {
sf::Event e;
while (sfmlWin.pollEvent(e)) {
switch (e.type) {
case sf::Event::EventType::Closed:
sfmlWin.close();
break;
}
}
sfmlWin.clear();
sfmlWin.draw(message);
sfmlWin.display();
}
return 0;
}
Spieghiamo cosa abbiamo fatto lì.
Innanzitutto, abbiamo creato un oggetto sf::Font
. Abbiamo bisogno di questo oggetto per memorizzare i dati dei font che useremo per visualizzare il testo. Successivamente, abbiamo chiamato il metodo loadFromFile
, utilizzato per caricare il carattere nella memoria. Dovremmo notare che SFML non conosce i vostri font di sistema, quindi è necessario fornire un nome file, non un nome di font
Successivamente, abbiamo creato un oggetto sf::Text
. Chiamiamo un costruttore di parametri con 3:
- La stringa che si desidera visualizzare
- Il carattere che l'oggetto utilizzerà
- La dimensione del carattere in pixel, che non abbiamo passato qui, quindi il sarà impostato sul valore predefinito: 30
Poiché l'oggetto sf::Text
è pronto, dobbiamo solo disegnarlo nel ciclo sfml principale, chiamando il metodo draw sfmlWin
finestra di rendering sfmlWin
che abbiamo creato prima