Bibliothèque graphique extrêmement simplifliée en français à des fins éducative, basée sur pyray
Project description
adndpg
Bibliothèque graphique simplifiée pour apprendre la programmation d'application et de jeux en Python.
Installation
pip install adndpg
Fenêtre
| Fonction / Membre | Description |
|---|---|
ouvrir_fenetre(titre) |
Ouvre la fenêtre de jeu |
fermer_fenetre() |
Ferme définitivement la fenêtre |
fenetre_est_ouverte() |
True tant que la fenêtre n'est pas fermée |
effacer_ecran(couleur) |
Nettoie l'écran avec une couleur de fond |
redimensionner_fenetre(l, h) |
Change la taille de la fenêtre |
definir_images_par_seconde(fps) |
Change la vitesse de rafraîchissement |
obtenir_temps() |
Donne le nombre de secondes depuis le début |
obtenir_delta() |
Donne le temps écoulé depuis la dernière image |
obtenir_largeur_fenetre() |
Donne la largeur actuelle de l'écran |
obtenir_hauteur_fenetre() |
Donne la hauteur actuelle de l'écran |
Exemple
from adndpg import *
ouvrir_fenetre("Ma Super App")
while fenetre_est_ouverte():
effacer_ecran(BLEU)
# Ton code ici...
fermer_fenetre()
Couleurs
| Fonction / Membre | Description |
|---|---|
ROUGE, BLEU, VERT, JAUNE, NOIR, BLANC, GRIS, ORANGE, VIOLET, ROSE, MARRON, CYAN, TRANSPARENT |
Couleurs prédéfinies |
couleur_aleatoire() |
Choisit une couleur au hasard parmi la liste |
Couleur(r, v, b, a) |
Crée une couleur personnalisée (Rouge, Vert, Bleu, Alpha) de 0 à 255 |
Exemple
from adndpg import *
ma_couleur = Couleur(100, 200, 50, 255)
couleur_du_fond = couleur_aleatoire()
Le Carré
| Fonction / Membre | Description |
|---|---|
Carre(x, y, taille, couleur) |
Crée un nouveau carré |
x, y |
Position du coin haut-gauche |
taille |
Longueur des côtés |
couleur |
Couleur du carré |
rotation |
Angle de rotation en degrés |
visible |
True pour l'afficher, False pour le cacher |
dessiner() |
Affiche le carré à l'écran |
deplacer(dx, dy) |
Fait bouger le carré |
aller_a(x, y) |
Déplace le carré à une position précise |
redimensionner(taille) |
Change la taille |
orienter(degres) |
Change l'angle de rotation |
est_survole() |
True si la souris est sur le carré |
est_clique() |
True si on clique sur le carré |
touche(autre) |
True si le carré touche un autre objet |
Exemple
from adndpg import *
ouvrir_fenetre()
joueur = Carre(100, 100, 40, ROUGE)
while fenetre_est_ouverte():
effacer_ecran(BLANC)
joueur.deplacer(2, 0) # Le carré avance
joueur.rotation += 1 # Le carré tourne sur lui-même
joueur.dessiner()
Le Rectangle
| Fonction / Membre | Description |
|---|---|
Rectangle(x, y, l, h, couleur) |
Crée un nouveau rectangle |
x, y |
Position du coin haut-gauche |
largeur, hauteur |
Dimensions du rectangle |
couleur, rotation, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
redimensionner(l, h) |
Change la largeur et la hauteur |
orienter(degres) |
Change l'angle |
est_survole(), est_clique() |
Interactions avec la souris |
touche(autre) |
Détection de collision |
Exemple
from adndpg import *
plateforme = Rectangle(200, 400, 400, 20, GRIS)
while fenetre_est_ouverte():
effacer_ecran(BLANC)
plateforme.dessiner()
if plateforme.est_clique():
plateforme.couleur = VERT
Le Cercle
| Fonction / Membre | Description |
|---|---|
Cercle(x, y, rayon, couleur) |
Crée un nouveau cercle |
x, y |
Position du centre du cercle |
rayon |
Taille du cercle |
couleur, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
redimensionner(rayon) |
Change le rayon |
est_survole(), est_clique() |
Interactions avec la souris |
touche(autre) |
Détection de collision |
Exemple
from adndpg import *
balle = Cercle(400, 300, 20, JAUNE)
while fenetre_est_ouverte():
effacer_ecran(NOIR)
balle.aller_a(position_souris()[0], position_souris()[1])
balle.dessiner()
Le Texte
| Fonction / Membre | Description |
|---|---|
Texte(message, x, y, taille, couleur) |
Crée un texte |
contenu |
Le message à afficher (doit être une chaîne de caractères) |
x, y |
Position |
taille |
Taille de la police |
largeur |
(Lecture seule) Largeur du texte en pixels |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
Exemple
from adndpg import *
score = 0
ma_bulle = Texte("Score: 0", 20, 20, 30, NOIR)
# Pour changer le texte plus tard :
score += 10
ma_bulle.contenu = "Score: " + str(score)
L'Image
| Fonction / Membre | Description |
|---|---|
Image(chemin, x, y) |
Charge une image depuis ton ordinateur |
x, y |
Position |
largeur, hauteur |
(Lecture seule) Taille originale de l'image |
echelle |
Zoom de l'image (1.0 = normal, 2.0 = double) |
rotation, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a(), orienter() |
Fonctions d'affichage et mouvement |
redimensionner(echelle) |
Change l'échelle de l'image |
est_survole(), est_clique(), touche() |
Interactions et collisions |
Exemple
from adndpg import *
image = Image("assets/image.png", 400, 300)
image.redimensionner(0.5) # Image deux fois plus petite
while fenetre_est_ouverte():
effacer_ecran(BLANC)
image.dessiner()
Clavier et Souris
| Fonction | Description |
|---|---|
touche_appuyee(T) |
True une seule fois quand on appuie sur la touche |
touche_enfoncee(T) |
True tout le temps où la touche est maintenue |
touche_relachee(T) |
True une seule fois quand on relâche la touche |
position_souris() |
Donne les coordonnées (x, y) de la souris |
clic() |
True une seule fois quand on clique (gauche) |
bouton_enfonce(B) |
True tant qu'on maintient le bouton (BOUTON_GAUCHE, BOUTON_DROIT) |
bouton_relache(B) |
True quand on relâche le bouton |
molette() |
Donne le mouvement de la molette (positif ou négatif) |
Exemple
from adndpg import *
while fenetre_est_ouverte():
if touche_enfoncee(DROITE):
print("Tu vas à droite !")
x, y = position_souris()
if clic():
print("Clic en", x, y)
Audio
| Fonction / Membre | Description |
|---|---|
Son(chemin) |
Charge un bruitage court |
Musique(chemin) |
Charge une musique longue |
jouer() |
Démarre la lecture |
arreter() |
Arrête la lecture |
mettre_en_pause() |
(Musique) Suspend la lecture |
reprendre() |
(Musique) Relance après une pause |
continue_a_jouer() |
(Musique) Indispensable dans la boucle while |
est_en_boucle(v) |
(Musique) True pour répéter indéfiniment |
changer_volume(v) |
Change le volume (de 0.0 à 1.0) |
est_en_lecture() |
True si l'audio est en train de jouer |
Exemple
from adndpg import *
bruit = Son("saut.wav")
musique = Musique("fond.mp3")
musique.jouer()
while fenetre_est_ouverte():
musique.continue_a_jouer()
if touche_appuyee(ESPACE):
bruit.jouer()
Tu as tous les outils pour commencer ton programme. La section ci-dessous ne te concerne pas.
Guide de maintenance du paquet
Installation
pip install -e .
Lancer les tests visuels
python tests/lancer_tests.py
ESPACE = continuer | ECHAP = quitter
Pour publier une nouvelle version
Mettre à jour la version dans src/adndpg/__init__.py
__version__ = "X.X.X"
Sur Github, penser à faire une release manuellement pour lancer la CI qui publiera la veersion sur PyPi.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adndpg-0.2.2.tar.gz.
File metadata
- Download URL: adndpg-0.2.2.tar.gz
- Upload date:
- Size: 45.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0427a8649f754e7362fc2708bdaa0880586f9e026da675b32620608625dfff4c
|
|
| MD5 |
c38d7178850088e8545e95e63bc6553f
|
|
| BLAKE2b-256 |
e16d038c3ca74627b8af509f4ce9b7a1fe4aed65f067e14d48ccfb398c8dacd2
|
File details
Details for the file adndpg-0.2.2-py3-none-any.whl.
File metadata
- Download URL: adndpg-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3745ab9b759e1102fa356040a31850a399a5a4ce5238744b68a6631450164d18
|
|
| MD5 |
71736a30d851d0b4e451e05949e3ba2b
|
|
| BLAKE2b-256 |
92ad7b32e713f8d5a49b1c87a7ed6db2141853575ab85f9a4c3af7c0e69bc9a4
|