Créer nos propres formes et les réutiliser
Maintenant que nous avons vu comment utiliser les formes basiques disponibles, nous allons pouvoir dessiner nos propres formes plus complexes qui seront composées de ces formes basiques. Nous allons aborder ici une nouvelle notion : les fonctions, qui vous seront utiles dans la réalisation de votre oeuvre.
Une fonction est un bout de code que l'on peut réutiliser plusieurs fois sans avoir à tout réécrire. Par exemple dans le cours précédent nous avons vu beaucoup de fonctions comme rect
, line
, stroke
… Ces instructions sont des bouts de code écrits par d'autres informaticiens que vous pouvez utiliser simplement en appelant la fonction.
Dans la suite nous allons donc pouvoir écrire nos propres fonctions.
Créons nos propres fonctions
Supposons que nous voulions dessiner une cible, nous pourrions écrire ceci :
ellipse(100,100,50,50) # premier cercle de centre (100,100) et de diamètre 50 ellipse(100,100,30,30) # deuxième cercle de centre (100,100) et de diamètre 30 ellipse(100,100,10,10) # troisième cercle de centre (100,100) et de diamètre 10
Nous avons donc ici 3 cercles de même centre et de diamètres différents.
Si nous voulions dessiner plusieurs cibles, il faudrait recopier ces 3 lignes plusieurs fois ce qui n'est pas très pratique et qui rendrait vite le programme illisible. Nous allons donc créer notre propre fonction cible()
qui va dessiner notre forme plus complexe.
![]() | Pour dessiner plusieurs cible à différents endroits il existe plusieurs méthodes. Ici nous utilisons translate(x,y) . Cette fonction (fournie par processing) effectue une translation du repère de (x,y). C'est comme si vous bougiez votre feuille de x vers la gauche et de y vers le bas. Vous pourrez donc dessiner des formes à différents endroits sans avoir à changer les paramètres des fonctions de dessin ( rect ,triangle …) Pour utiliser translate il faut d'abord sauvegarder la position du repère (la feuille) à l'état initial. Nous vous fournissons pour cela la fonction save() . Ensuite pour remettre le repère (la feuille) à sa position initiale, nous vous fournissons la fonction reset() qui fait ce travail. Note: Une autre méthode existe, nous la verrons plus loin dans Créer des fonctions avec paramètres |