ATTENTION : ceci est la documentation d'une version antérieure de SFML ; la documentation de la dernière version officielle est accessible via le menu principal
Tutoriel - Démarrer - SFML et Python
Introduction
Le but de ce tutoriel est de vous expliquer comment compiler / installer / utiliser le binding Python de SFML (qui est appelé PySFML).
Installer PySFML
Vous devez tout d'abord télécharger le SDK PySFML (SFML-x.x-python-sdk-windows ou SFML-x.x-python-sdk-linux), qui peut être trouvé sur la page des téléchargements. Cette archive contient le code source, les exemples et un fichier d'installation pour construire et installer PySFML.
Pour installer directement les binaires précompilés, ouvrez une invite de commande dans le répertoire SFML-x.x/python, puis tapez :
python setup.py install
Sous Linux, vous devrez avoir les droits root pour installer les fichiers :
sudo python setup.py install
Si vous désirez compiler PySFML depuis le code source, vous devez avoir les en-têtes et bibliothèques C++ de SFML dans le répertoire SFML-x.x (aindi que le dossier python), et entrer la commande suivante :
python setup.py build
Sous Windows, cette commande utilise Visual C++ 2003 par défaut. Mais vous pouvez tout aussi bien compiler avec MinGW si vous le souhaitez, an ajoutant l'option "-cmingw32" :
python setup.py build -cmingw32
Puis vous pouvez installer PySFML avec la commande vue précédemment :
python setup.py install
Ecriture de votre premier programme PySFML
Contrairement aux bibliothèques C++, PySFML rassemble toutes les classes SFML dans un module unique ("sf"). Comme Python ne supporte pas les threads nativement, et qu'il possède des propres classes pour le réseau, seules les classes des modules système, fenêtrage, graphique et audio sont exposées dans PySFML.
Voici un morceau de code SFML très simple qui ouvre une fenêtre et y affiche du texte :
# On inclus l'extension PySFML from PySFML import * # On crée la fenêtre principale window = sf.RenderWindow(sf.VideoMode(800, 600), "PySFML test") # On crée une chaîne graphique à afficher text = sf.String("Hello SFML") # On démarre la boucle de jeu running = True while running: event = sf.Event() while window.GetEvent(event): if event.Type == sf.Event.Closed: running = False # On affiche le texte, puis on met à jour la fenêtre window.Draw(text) window.Display()
Il n'y a aucune documentation pour ce binding Python. Toutefois, les classes sont identiques et vous pouvez donc tout à fait utiliser la documentation complète pour C++ ainsi que les tutoriels du site.
Le répertoire "samples" contient quelques démos utilisant PySFML, vous pouvez les essayer pour vous assurer que tout fonctionne correctement après compilation et/ou installation
