Programmer avec Python
Créer des objets
rectangle, cercle, engrenage, sol, dessin : les paramètres communs et ceux de chacun.
Les cinq fonctions de création
| Fonction | Ce qu'elle crée | Ses paramètres propres |
|---|---|---|
rectangle() | une planche, un bloc | largeur, hauteur (100 × 50 sans rien dire) |
cercle() | une bille, une roue | rayon (40) |
engrenage() | une roue dentée | dents (20), module (10) |
sol() | un plancher fixe | largeur, hauteur (800 × 40) |
dessin() | une forme libre | points (liste de (x, y)) |
Et les paramètres communs à toutes :
| Paramètre | Alias anglais | Défaut | Rôle |
|---|---|---|---|
x, y | — | 0, 0 | le centre, en mm ; y vers le bas |
angle | — | 0 | l'inclinaison en degrés, sens des aiguilles |
materiau | material | "standard" | bois, caoutchouc, verre, glace, pierre, acier, or, helium, standard |
couleur | color | celle du matériau | "#ef4444" ou un nom CSS |
fixe | fixed | False (un sol : toujours fixe) | True : la pièce ne bouge pas |
etage | floor | 0 | l'étage, de 0 à 15 — voir Étages et calques |
Chaque fonction rend l'objet créé : garde-le dans une variable pour le relier, le lire ou le suivre avec la caméra.
Manipulation
scene.vider()
sol(x=0, y=250, largeur=2000)
rampe = rectangle(x=-300, y=100, largeur=500, hauteur=20, angle=20, fixe=True, materiau="bois")
bille = cercle(x=-500, y=-50, rayon=25, materiau="acier", couleur="#3b82f6")
roue = engrenage(x=300, y=150, dents=30, module=6, materiau="acier")
pivot(x=300, y=150, corps=roue, moteur=True, vitesse=-30)
etoile = dessin(points=[(500, 100), (560, 200), (440, 200)], couleur="#f59e0b")
Essayer ce code dans l’atelier PythonObservation
La bille descend la rampe, saute et roule vers la roue qui tourne. La commande scene.vider() en tête a effacé tout ce qu'il y avait avant — y compris ce que tu avais posé à la souris ; sans elle, le script n'aurait remplacé que ses propres objets de la fois d'avant.
Deux détails qui comptent
- Un engrenage créé par script naît libre (pas fixé), contrairement à un engrenage tracé à la souris : sans pivot, il tombe. Donne-lui un
pivot()oufixe=True. - Le sol n'a pas de
fixe: il l'est par nature.
Lire ce qu'on a créé
roue.x, roue.rayon, roue.dents, bille.masse, rampe.largeur, etoile.type … Voir Les objets. On peut aussi régler x, y et angle après coup : bille.x = 0.