Return to Video

Resizing shapes with variable expressions

  • 0:00 - 0:02
    On est de retour avec Winston.
  • 0:02 - 0:06
    Nous avons à présent une variable X et une Y pour
  • 0:06 - 0:07
    la position de Winston.
  • 0:07 - 0:09
    Donc nous pouvons bouger sur les côtés
  • 0:10 - 0:12
    en haut et en bas, woo!
  • 0:12 - 0:13
    Vraiment bien.
  • 0:14 - 0:16
    Maintenant, réinitialisons ces variables
  • 0:16 - 0:19
    avec 200 et 200
  • 0:19 - 0:22
    et voyons comment fonctionne ce programme.
  • 0:23 - 0:26
    Alors commençons ici, nous avons la variable eyeSize.
  • 0:26 - 0:28
    C'est utilisé pour contrôler le dimension des yeux,
  • 0:28 - 0:30
    parce que les yeux ont tous une largeur de 40 pixels
  • 0:30 - 0:32
    et une hauteur de 40 pixels.
  • 0:32 - 0:35
    Et puis nous avons les variables X et Y,
  • 0:35 - 0:39
    et elles définissent le centre du visage.
  • 0:40 - 0:41
    Et vous les voyez utilisés
  • 0:41 - 0:43
    dans cette commande ellipse ici,
  • 0:43 - 0:45
    qui dessine ce grand cercle jaune.
  • 0:46 - 0:47
    Et ici en bas,
  • 0:47 - 0:49
    pour les yeux,
  • 0:49 - 0:50
    le X et le Y sont aussi utilisés.
  • 0:51 - 0:52
    Et ici,
  • 0:52 - 0:54
    les yeux sont positionnés
  • 0:54 - 0:56
    relativement au centre du visage.
  • 0:56 - 0:58
    Donc peut-être que celui-ci est
  • 0:58 - 0:59
    à 50 pixels
  • 0:59 - 1:01
    du gauche du centre
  • 1:02 - 1:03
    et celui-ci est à 100 pixels
  • 1:03 - 1:05
    de la droite du centre.
  • 1:05 - 1:08
    OK. Pas mal
  • 1:08 - 1:09
    et c'est pourquoi nous pouvons
  • 1:09 - 1:11
    bouger Winston de haut en bas.
  • 1:11 - 1:13
    Maintenant, je veux pouvoir contrôler
  • 1:13 - 1:15
    plus de chose sur le visage de Winston
  • 1:15 - 1:17
    avec des variables
  • 1:17 - 1:18
    donc je veux comprendre
  • 1:18 - 1:19
    ce que nous pouvons, dans ce programme,
  • 1:19 - 1:21
    enregistrer en tant que variables
  • 1:21 - 1:21
    pour ce faire
  • 1:21 - 1:23
    je vais passer en revu
  • 1:23 - 1:24
    chaque ligne de code
  • 1:24 - 1:25
    et regarder celle que l'on appelle
  • 1:25 - 1:27
    des nombres codés en dur
  • 1:28 - 1:29
    et ces nombres qui sont
  • 1:29 - 1:31
    juste des nombres littéraires
  • 1:31 - 1:33
    non des variables ou dépendant de variables
  • 1:34 - 1:35
    donc commençons par ici
  • 1:35 - 1:37
    dans cette première ellipse
  • 1:38 - 1:39
    nous avons 300 et 300
  • 1:39 - 1:41
    pour la largeur et la hauteur
  • 1:42 - 1:44
    ce sont des nombres littéraires
  • 1:44 - 1:45
    donc faisons une variable
  • 1:45 - 1:46
    pour ceux-ci.
  • 1:46 - 1:48
    Appelons la faceSize
  • 1:49 - 1:50
    et enregistrons 300
  • 1:50 - 1:53
    maintenant nous avons juste à écrire faceSize,
  • 1:54 - 1:55
    faceSize
  • 1:56 - 1:57
    OK ? Alors continuons
  • 1:57 - 1:58
    et oublions les couleurs
  • 1:58 - 2:00
    maintenant les commandes d'ellipse sont
  • 2:00 - 2:02
    à la fois des variables ou
  • 2:02 - 2:03
    dépendant de variables
  • 2:03 - 2:04
    donc je vais les laisser
  • 2:04 - 2:05
    comme ceci pour l'instant
  • 2:05 - 2:07
    et prenons la commande de la bouche
  • 2:07 - 2:09
    qui est dépendante de X et Y
  • 2:09 - 2:10
    mais qui sont
  • 2:10 - 2:12
    juste des nombres littéraires
  • 2:13 - 2:15
    150 et 150
  • 2:15 - 2:16
    disons donc
  • 2:16 - 2:19
    mouthSize, c'est un bon nom,
  • 2:19 - 2:20
    égale 150
  • 2:22 - 2:25
    on va remplacer ça par mouthSize
  • 2:25 - 2:27
    et mouthSize
  • 2:28 - 2:29
    Ok, donc maintenant
  • 2:29 - 2:31
    nous avons les dimensions des formes
  • 2:31 - 2:33
    enregistrés comme des variables tout en haut,
  • 2:33 - 2:35
    ce qui veut dire qu'il est très simple
  • 2:35 - 2:36
    pour nous de changer les dimensions
  • 2:36 - 2:37
    comme ça, ou comme ça,
  • 2:37 - 2:39
    Wooooo Winston à faim !
  • 2:39 - 2:41
    et peut-être maintenant, comme ceci,
  • 2:41 - 2:43
    Winston avait faim et
  • 2:43 - 2:44
    il a mangé beaucoup de Donuts
  • 2:44 - 2:46
    et ensuite il devient super gros
  • 2:46 - 2:48
    Ok bon,
  • 2:48 - 2:49
    il y a quelque chose
  • 2:49 - 2:51
    que je n'aime pas à propos du programme pour l'instant
  • 2:52 - 2:59
    donc si je transforme le visage en tout petit
  • 2:59 - 3:01
    cela commence à être drôle
  • 3:01 - 3:03
    parce que les yeux et la bouche
  • 3:03 - 3:05
    sortent du visage
  • 3:05 - 3:07
    et à un certain point cela ne semble
  • 3:07 - 3:08
    même plus être relié
  • 3:08 - 3:09
    au visage
  • 3:09 - 3:11
    ou n'est-ce plus un visage du tout ?
  • 3:12 - 3:14
    Bon alors ce qu'il s'est réellement passé
  • 3:14 - 3:16
    c'est que lorsque je change faceSize
  • 3:16 - 3:18
    je veux que les yeux et la bouche
  • 3:18 - 3:22
    Je veux que leur dimensions changent également,
  • 3:22 - 3:24
    donc si je change faceSize jusqu'à la moitié
  • 3:24 - 3:27
    je veux que la bouche soit aussi diminué de moitié
  • 3:27 - 3:29
    ce qui veut dire
  • 3:30 - 3:33
    que je veux calculer mouthSize et eyeSize
  • 3:33 - 3:36
    comme des fractions de faceSize
  • 3:37 - 3:40
    OK réinitialisons les variables
  • 3:40 - 3:42
    et je vais vous montrer ce à quoi je pense.
  • 3:42 - 3:44
    Je commence par mouthSize
  • 3:44 - 3:45
    donc maintenant
  • 3:45 - 3:50
    faceSize est égale à 300 et mouthSize est égale à 150
  • 3:50 - 3:52
    donc si l'on réfléchis
  • 3:52 - 3:53
    ils sont relatifs l'un à l'autre
  • 3:53 - 3:56
    disons que faceSize est deux fois plus grand
  • 3:56 - 3:58
    que mouthSize
  • 3:58 - 4:00
    ou que mouthSize est deux fois plus petit
  • 4:00 - 4:01
    que faceSize
  • 4:01 - 4:04
    et on peut écrire ce code comme ceci
  • 4:04 - 4:08
    une fois et demi faceSize
  • 4:08 - 4:10
    OK donc cette ligne de code dit
  • 4:10 - 4:12
    que l'on veut prendre la valeur de faceSize
  • 4:12 - 4:13
    la multiplier par sa moitié
  • 4:13 - 4:15
    et enregistrer ceci dans mouthSize
  • 4:16 - 4:17
    comme ça nous pourrons changer ceci
  • 4:18 - 4:20
    qui interprètera ce qu'est la moitié
  • 4:20 - 4:22
    et deviendra mouthSize
  • 4:22 - 4:24
    parfait ! Voilà ce que nous voulons
  • 4:25 - 4:27
    Maintenant eyeSize
  • 4:27 - 4:29
    donc faceSize est égale à 300
  • 4:29 - 4:31
    et eyeSize est égale à 40
  • 4:31 - 4:33
    donc nous avons besoins
  • 4:33 - 4:37
    40 divisé par 300 de faceSize
  • 4:37 - 4:39
    ce qui donne
  • 4:39 - 4:41
    4 sur 30 que nous pouvons
  • 4:41 - 4:44
    simplifier par 2 sur 15
  • 4:44 - 4:46
    donc disons que
  • 4:46 - 4:50
    2 sur 15 fois faceSize
  • 4:50 - 4:51
    (par ailleurs
  • 4:51 - 4:52
    si vous êtes débutants avec les fractions
  • 4:52 - 4:54
    et que les maths vous semblent compliqués
  • 4:54 - 4:56
    vous pouvez apprendre d'avantages sur les fractions
  • 4:56 - 4:58
    sur Khan Academy
  • 4:58 - 5:00
    et revenir à ce chapitre lorsque
  • 5:00 - 5:00
    vous vous sentirez prêts)
  • 5:00 - 5:02
    revenons à nos moutons
  • 5:03 - 5:04
    OK
  • 5:04 - 5:06
    donc réduisons le visage à nouveau
  • 5:07 - 5:08
    Haha! Regardez !
  • 5:08 - 5:10
    La bouche et les yeux se redimensionnent
  • 5:10 - 5:12
    proportionnellement au visage
  • 5:12 - 5:13
    mais vous remarquerez probablement
  • 5:13 - 5:15
    quelque chose qui cloche
  • 5:15 - 5:17
    les yeux et la bouche
  • 5:17 - 5:19
    s'écartent toujours du visage
  • 5:19 - 5:21
    même s'ils sont
  • 5:21 - 5:23
    bien plus proportionnels.
  • 5:23 - 5:25
    C'est parce que nous avons toujours
  • 5:25 - 5:27
    des nombres codés en dur
  • 5:27 - 5:28
    dans les commandes des ellipses
  • 5:28 - 5:30
    ces nombres qui devraient en fait
  • 5:30 - 5:33
    être des fractions de variables.
  • 5:33 - 5:35
    Voilà, je vais vous montrer
  • 5:35 - 5:38
    pour l'ellipse de l'oeil nous avons
  • 5:38 - 5:41
    X moins 50 pour la position X
  • 5:41 - 5:43
    ce qui veut toujours dire X moins 50
  • 5:43 - 5:45
    même si nous modifions faceSize
  • 5:45 - 5:47
    en dessous de 50 pixels
  • 5:47 - 5:48
    et ça n'a aucun sens
  • 5:48 - 5:50
    car cela veut dire que l'oeil gauche
  • 5:50 - 5:50
    ne sera plus
  • 5:50 - 5:52
    dans le visage.
  • 5:52 - 5:55
    Donc on devrait avoir X moins une fraction
  • 5:55 - 5:57
    de la dimension du visage
  • 5:57 - 5:59
    et nous pouvons définir une fraction
  • 5:59 - 6:00
    de la même façon
  • 6:00 - 6:04
    50 relativement aux 300 d'origine
  • 6:04 - 6:08
    donc 50 sur 300, 5 sur 30, 1 sur 6
  • 6:09 - 6:12
    donc 1 sur 6 fois faceSize
  • 6:12 - 6:14
    et ici nous avons également 50
  • 6:14 - 6:16
    donc nous pouvons faire la même chose
  • 6:16 - 6:17
    la même ligne de code
  • 6:17 - 6:19
    ici nous avons 100 sur 300
  • 6:19 - 6:21
    qui deviendra
  • 6:21 - 6:23
    1/3 de faceSize
  • 6:23 - 6:25
    ici nous avons 60
  • 6:25 - 6:26
    qui finira par
  • 6:26 - 6:29
    1/5 de faceSize
  • 6:29 - 6:32
    et ici nous avons un autre 50
  • 6:32 - 6:34
    qui sera 1/6 de faceSize
  • 6:34 - 6:36
    et ici 40
  • 6:36 - 6:38
    qui deviendra
  • 6:38 - 6:40
    2 sur 15
  • 6:40 - 6:45
    donc 2 sur 15 faceSize
  • 6:45 - 6:48
    Ok réessayons
  • 6:48 - 6:49
    Oh regardez ça !
  • 6:49 - 6:51
    Regardez ! C'est magnifique !
  • 6:51 - 6:52
    Trop bien.
  • 6:53 - 6:55
    Ok bon récapitulons
  • 6:55 - 6:56
    nous avons créés cette variable
  • 6:56 - 6:58
    qui stocke les dimensions du visage
  • 6:58 - 7:00
    et qui n'enregistre qu'un nombre
  • 7:00 - 7:02
    et nous avons les variables mouthSize
  • 7:02 - 7:03
    et eyeSize
  • 7:03 - 7:06
    et nous les avons calculés avec des fractions
  • 7:06 - 7:07
    de faceSize
  • 7:07 - 7:08
    pour être certains
  • 7:08 - 7:10
    que leurs valeurs changent toujours
  • 7:10 - 7:12
    avec la base de celle-ci
  • 7:13 - 7:15
    et toutes les autres sont calculées
  • 7:15 - 7:17
    également sur la base de faceSize
  • 7:17 - 7:18
    pour être certains que cette position
  • 7:18 - 7:20
    à l’intérieur du visage change
  • 7:20 - 7:22
    si faceSize change.
  • 7:22 - 7:23
    Whoo! Très bien.
  • 7:23 - 7:25
    Donc maintenant que l'on comprend bien
  • 7:25 - 7:26
    comment créer des variables
  • 7:26 - 7:28
    qui dépendent des valeurs d'autres variables
  • 7:28 - 7:30
    on peut faire beaucoup plus avec nos programmes
  • 7:30 - 7:32
    Célébrons cela en rendant Winston énorme !
  • 7:32 - 7:37
    Yeaaah ! Allez Winston !
Title:
Resizing shapes with variable expressions
Description:

more » « less
Video Language:
English
Duration:
07:37

French subtitles

Revisions