< Return to Video

Function Parameters (Video Version)

  • 0:01 - 0:06
    Voici le programme qui dessine Winston,
    auquel j'ai ajouté du texte.
  • 0:06 - 0:11
    Ce que je veux faire, c'est de placer mes
    Winston en dessous de chaque texte
  • 0:11 - 0:13
    pour que cela corresponde à
    chaque période de sa vie.
  • 0:13 - 0:15
    Mais pour l'instant, il est placé
    un peu partout,
  • 0:15 - 0:20
    car la fonction place Winston à une
    position aléatoire pour faceX et faceY.
  • 0:20 - 0:27
    On veut changer ça et pourvoir indiquer
    à la fonction à quelle position dessiner Winston.
  • 0:27 - 0:31
    Ainsi, quand on appellera la fonction, il suffira
    d'indiquer à quelle position le dessiner,
  • 0:31 - 0:34
    comme pour les rectangles ou les ellipses.
  • 0:34 - 0:40
    OK. En fait, je veux pouvoir dessiner un Winston ici...
    et ici.... aussi ici... et le dernier là !
  • 0:40 - 0:44
    Je ne veux plus de position aléatoire à chaque appel.
  • 0:44 - 0:48
    Pour faire ça, on va créer des paramètres
    à notre fonction...
  • 0:48 - 0:53
    à la fois, au moment de la définition
    (tout en haut... ici)
  • 0:53 - 0:58
    et aussi au moment de l'appeler...
    en bas...ici.
  • 0:58 - 1:03
    Dans "drawWinston()", on va lui passer
    faceX et faceY,
  • 1:03 - 1:09
    et il pourra utiliser ces
    valeurs au lieu de les générer aléatoirement.
  • 1:09 - 1:15
    Commençons par voir ce qu'on va lui
    passer comme valeurs au moment de l'appel.
  • 1:15 - 1:19
    On veut le positionner sous chaque bloc de texte.
  • 1:19 - 1:25
    Donc on va passer des valeurs qui sont proches
    des "x" et "y" utilisés pour le texte.
  • 1:25 - 1:29
    Probablement juste 10 pixels
    plus bas pour le "y".
  • 1:29 - 1:38
    Le premier sera à peu près à 10 et 30,
    puis... 200 et 30...
  • 1:38 - 1:42
    puis, 10 et 230... et enfin, 200 et 230.
  • 1:42 - 1:49
    J'ai utilisé ceux des textes
    et juste ajouté 10 au "y" pour l'avoir un peu en dessous.
  • 1:49 - 1:53
    OK. Winston, lui, n'a pas bougé !
  • 1:53 - 1:57
    C'est parce qu'on n'a pas indiqué
    à la fonction d'utiliser les paramètres.
  • 1:57 - 1:59
    Elle utilise donc toujours les valeurs aléatoire.
  • 1:59 - 2:04
    Donc pour lui dire de plutôt utiliser les paramètres,
  • 2:04 - 2:09
    on doit ajouter les noms des paramètres
    entre les parenthèses... ici.
  • 2:09 - 2:15
    On va les appeler faceX et faceY... et les séparer
    par une virgule.
  • 2:15 - 2:21
    On les appelle comme ça, car on utilise déjà ces
    noms dans la fonction.
  • 2:21 - 2:25
    Cela nous évite de modifier
    le code existant.
  • 2:25 - 2:29
    Mais, même en faisant ça,
    Winston est toujours n'importe où !
  • 2:29 - 2:32
    Si vous regarder au début du code de la fonction,
  • 2:32 - 2:36
    vous voyez qu'on écrase toujours la valeur de
    faceX et faceY par des valeurs aléatoires !
  • 2:36 - 2:40
    Il faut donc qu'on enlève ces deux lignes, là.
  • 2:40 - 2:46
    Et voilà ! maintenant la fonction utilise
    les valeurs de faceX et faceY,
  • 2:46 - 2:51
    qu'on lui a passé au moment de l'appel.
  • 2:51 - 2:54
    Je n'ai pas bien positionné
    mes Winston pour l'instant,
  • 2:54 - 2:58
    car j'ai oublié que les valeurs de "x" et "y"
    pour les textes représentent le coin supérieur gauche
  • 2:58 - 3:04
    Alors que pour le visage,
    ça représente le centre du visage de Winston.
  • 3:04 - 3:07
    Donc je vais changer ça un peu...
  • 3:07 - 3:13
    Je vais changer pas mal le "x"... et le "y" pareil...
    avec l'outil c'est plus facile...
  • 3:13 - 3:19
    Donc, ce que je fais maintenant, c'est juste changer
    les valeurs des paramètres de ma fonction.
  • 3:19 - 3:23
    Je n'ai plus à modifier la fonction elle-même.
  • 3:23 - 3:29
    Car elle va juste utiliser les valeurs que je lui passe.
    OK ? Exactement comme avec ellipse() et rect().
  • 3:29 - 3:34
    OK. Je les ai positionnés, mais en fait, il est trop grand.
  • 3:34 - 3:36
    Ils se superposent. Il prend trop de place.
  • 3:36 - 3:42
    Comme j'ai fais une fonction pour le dessiner,
    je peux modifier leur taille d'un coup,
  • 3:42 - 3:45
    juste en changeant une ligne de code !
  • 3:45 - 3:51
    Essayons de prendre la valeur 190, Yeah !
    Il va maigrir d'un coup... 190.
  • 3:51 - 4:02
    C'est pas mal ! et si je modifie encore
    un peu leur position, ça ira mieux.
  • 4:02 - 4:06
    Cool ! Bon.
    Revoyons un peu ce que ce code fait.
  • 4:06 - 4:10
    On a définit une fonction appelée
    "drawWinston()",
  • 4:10 - 4:15
    Cette fonction accepte 2 valeurs,
    qu'on a nommées faceX et faceY.
  • 4:15 - 4:22
    Ces valeurs sont portées par ces deux variables
    qu'on peut utiliser dans le reste de la fonction.
  • 4:22 - 4:26
    Exactement comme si on les
    avait déclarées en haut normalement,
  • 4:26 - 4:30
    Et on peut appeler cette fonction
    où on veut (après l'avoir déclarée)
  • 4:30 - 4:35
    et lui passer des valeurs
    différentes en paramètre à chaque fois.
  • 4:35 - 4:38
    On vient de voir un truc super utile
    avec les fonctions.
  • 4:38 - 4:40
    Quand on a du code qu'on pense
    pouvoir ré-utiliser,
  • 4:40 - 4:43
    il suffit de le mettre dans une fonction.
  • 4:43 - 4:45
    Ensuite, on peut lui passer des paramètres
  • 4:45 - 4:47
    pour la personnaliser ou changer
    son comportement.
  • 4:47 - 4:49
    C'est comme une recette.
  • 4:49 - 4:53
    Vous écrivez la recette pour un gâteau.
    Mais si vous avez besoin d'en faire 4,
  • 4:53 - 4:57
    Vous n'avez pas à tout ré-inventer...
    il suffit de tout multiplier par 4.
  • 4:57 - 5:02
    A vous de trouver le code que vous pouvez ré-utiliser !
Title:
Function Parameters (Video Version)
Description:

more » « less
Video Language:
English
Duration:
05:05

French subtitles

Revisions