User manual

76
hm = (h + m / 60.0) * 5 La variable hm enregistre l'angle de l'aiguille des heures en unité-minute telle qu'elle
est utilisée dans l'ensemble du programme. Pour ce faire, 1/60 de la valeur des minutes est ajoutée à l'heure
actuelle. À chaque minute, l'aiguille de l'heure se déplace 1/60 d'une heure. La valeur calculée est multipliée
par
5 parce que l'aiguille des heures avance de 5 unités-minutes sur le cadran en une heure.
if s1 <> s: La durée d'un cycle de boucle n'est pas connue dans le programme. Pour l'horloge analogique,
cela signifie que le graphisme ne doit pas être mis à jour à chaque cycle de boucle mais uniquement lorsque
la seconde actuelle est différente de la dernière affichée. Pour ce faire, la seconde affichée est enregistrée
plus tard dans le programme dans la variable
s1, la seconde actuelle reste toujours dans la variable s.
Si la seconde a changé par rapport à la dernière seconde affichée, les graphismes de l'horloge sont mis à
jour avec les instructions qui suivent. Si elle n'a pas changé, le graphisme n'a pas besoin d'être mis à jour et
la boucle recommence avec une autre requête de l'heure système actuelle.
pygame.draw.circle(CHAMP, BLANC, MP, 182)
Une surface circulaire blanche est d'abord dessinée en couvrant complétement les aiguilles. Le rayon de
182 pixels est légèrement plus grand que l'aiguille la plus longue de sorte qu'il ne reste plus rien. Il est
beaucoup plus facile de dessiner un cercle complet, que de recouvrir au pixel près la dernière aiguille
dessinée.
pygame.draw.line(CHAMP, NOIR, MP, point(120, hm), 6)
La ligne dessine l'aiguille des heures comme une ligne d'une largeur de 6 pixels et d'une longueur de 120
pixels à partir du point central avec un angle qui est spécifié par la variable
hm. La fonction
pygame.draw.line() n'a pas été utilisée jusqu'à présent. Elle a besoin de cinq paramètres :
Surface
donne la surface de dessin sur laquelle est dessiné par exemple le CHAMP.
Couleur
donne la couleur du cercle, par exemple la couleur NOIR précédemment définie.
Point de départ
indique le point de départ de la ligne ; dans cet exemple, il s'agit du centre de l'horloge.
Point final
indique le point final de la ligne ; dans l'exemple, il est calculé avec la fonction point() à
partir de l'angle de l'aiguille des heures.
Épaisseur
donne l'épaisseur de la ligne.
La même fonction dessine également les deux autres aiguilles de l'horloge.
pygame.draw.line(CHAMP, NOIR, MP, point(170, m), 4)
Cette ligne dessine l'aiguille des minutes avec une ligne large de 4 pixels et longue de 170 pixels à partir du
point central, avec un angle qui est donné par la valeur des minutes.
pygame.draw.line(CHAMP, ROUGE, MP, point(180, s), 2)