Pyglet
Pyglet est un module pour le langage de programmation Python qui fournit une API orientée objet pour créer des jeux et des applications multimédias[2],[3].
Créateur | Alex Holkner |
---|---|
Développé par | Communauté |
Dernière version | 2.1 |
Dépôt | github.com/pyglet/pyglet |
Écrit en | Python |
Environnement | Microsoft Windows, GNU/Linux, macOS |
Langues | anglais |
Type | bibliothèque Python[1] |
Licence | BSD |
Documentation | https://pyglet.readthedocs.io/ |
Site web | http://pyglet.org/ |
Pyglet fonctionne sur Microsoft Windows, macOS, et Linux. C'est un logiciel libre (Publié sous la licence BSD) qui a été créé par Alex Holkner.
Caractéristiques
modifierPyglet est entièrement écrit en Python. Les modes fenêtré et plein écran sont pris en charge, ainsi que plusieurs moniteurs. Les fichiers image, vidéo et audio dans une variété de formats peuvent être lus sans bibliothèques supplémentaires, avec des fonctionnalités supplémentaires fournies par le plugin AVbin en option, qui utilise le package Libav pour fournir la prise en charge des formats audio tels que MP3 , Ogg / Vorbis et Windows Media Audio , et des formats vidéo tels que DivX , MPEG-2 , H.264 , WMV et XviD[4],[5].
Affichage et formatage de textes
- Riche formatage de texte (gras, italique, souligné, changement de la couleur du texte, changement de la couleur de l'arrière-plan, indentation, listes) avec
pyglet.text.formats
- Mise en page intégrée pour l'édition de texte.
- Insertion de symboles avec
pyglet.text.caret.Caret
- Gestion de l'HTML avec
pyglet.text.layout.IncrementalTextLayout
Travail sur les images et les sprites
- Traitement et affichage rapide des images
- Sprites intégrés avec
pyglet.sprite
- Support des images animées
*.gif
Graphismes
- Shaders d'OpenGL supportés
- Formes basiques intégrées (Rectangles, cercles, triangles) avec
pyglet.shapes
- Affichage en lots avec
pyglet.graphics.Batch
- Affichage de modèles 3d
Événements et fichiers systèmes
- Gestion des ressources avec
pyglet.resource
- Horloge pour le traitement des événements et du temps avec
pyglet.clock.Clock
- Événements Windows avec
pyglet.window.Window
- Répartition des événements avec
pyglet.event.EventDispatcher
- Gestion du contexte
Les sprites, les mises en pages de texte et les fonctions de texte sont implémentés. Les listes à plusieurs niveaux sont supportées et peuvent être créées en utilisant du HTML. Les différentes sections des document affichés peuvent avoir des styles différents. Un curseur intégré fournit un support pour l'édition de texte, resemblant beaucoup aux curseurs des interfaces utilisateurs.
Exemple
modifierfrom pyglet.window import Window
from pyglet.app import run
window = Window(caption="Hello world!", width=640, height=480)
run()
Dans cet exemple, les deux premières lignes importent les modules nécessaires de pyglet, la ligne 4 crée une fenêtre et la ligne 6 fait appel à Pyglet pour actionner la boucle d'événements de la fenêtre. Bien qu'optionnel, il est possible de définir un taux de mise à jour (en images par seconde).
Voir aussi
modifier- Pygame, une autre API Python pour les jeux basée sur Simple DirectMedia Layer
- Cocos2d
- Panda3D
Références
modifier- ↑ (en) « Pyglet », sur PyPi, (consulté le )
- ↑ (en) Anthony Briggs, Hello! Python, Simon and Schuster, (ISBN 978-1-63835-152-8, lire en ligne)
- ↑ (en) Alejandro Rodas de Paz et Joseph Howse, Python Game Programming By Example, Packt Publishing Ltd, (ISBN 978-1-78528-391-8, lire en ligne)
- ↑ Jérémy Robert, « Pyglet : Tout savoir sur la bibliothèque multimédia pour Python », sur Formation Data Science | DataScientest.com, (consulté le )
- ↑ (en-US) Ambika Choudhury, « Top Python Frameworks For Game Development », sur Analytics India Magazine, (consulté le )
Crédits
modifier- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Pyglet » (voir la liste des auteurs).
- (uk) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en ukrainien intitulé « Pyglet » (voir la liste des auteurs).
Liens externes
modifier- Site officiel
- Documentation officielle
- AVbin, the wrapper for libav