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 les fichiers de développement PySFML (SFML-x.x-python-dev-windows ou SFML-x.x-python-dev-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 supporte 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 sf # 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, vous pouvez obtenir la description détaillée d'une
classe en tapant help(sf.la_classe) dans l'interpréteur. De plus, toutes les classes sont identiques
à la version C++ et vous pouvez donc tout à fait utiliser la documentation complète 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
