0:08
Rebonjour. Détaillons un peu plus le Block controller, et voyons d’autres types de blocs à votre disposition.
0:15
De retour dans l'écran d'édition du Block Controller, voyons un autre type de bloc. Regardez dans « Flow
0:20
Control ». Ces blocs n'exécuteront leur action qu'en fonction de certains paramètres.
0:25
C'est comme un arbre de décision, dans lequel une décision prise ouvre un nouveau chemin dépendant
0:32
Prenons celui qui dit « if/do ». Il se passe beaucoup de choses dans ce bloc. Vous remarquerez qu'il y a
0:38
une encoche ici en haut, ce qui signifie que c'est une commande. Il y a une encoche ici pour une valeur
0:43
ou un paramètre, et une échancrure pour ce qu'il doit faire. Il a aussi cette icône de roue dentée, dont
0:50
nous parlerons bientôt. Mais pour l'instant, intégrons-le au reste de notre programme.
0:55
Dans la vidéo précédente, nous avons créé un bouton qui change sa légende en « ON » quand on le
0:59
presse. Mais pour changer cette légende en « OFF » quand on appuie à nouveau sur le bouton, le
1:05
programme doit faire une évaluation.
1:07
Si l'état du bouton est ON, nous voulons que la légende indique ON. Si l'état du bouton est OFF, nous
1:13
voulons que la légende indique OFF. C'est un contrôle de flux ou « Flow Control ».
1:18
Détachons donc notre bloc « set control » du bloc « control change », et ajoutons-le plutôt à notre bloc
1:25
conditionnel « If ». Faisons maintenant glisser le bloc « If » dans le bloc « Control Change ». Du coup,
1:31
quand le bouton est pressé, la légende n’est changée que si une certaine exigence est satisfaite.
1:37
Vous pouvez deviner quelle partie nous devons remplir maintenant – « if » veut dire « si » mais si…
1:42
quoi ? Nous devons ajouter ici un bloc signifiant « si le contrôleur est activé ».
1:47
Regardons maintenant dans la rubrique Opérateurs. Les opérateurs sont des choses qui… réalisent une
1:54
opération. Dans ce cas, il s'agit généralement d'opérations mathématiques comme l'arithmétique de
1:59
base ou d'opérations logiques comme la comparaison de deux choses.
2:04
C'est ce que fait ce bloc logique, qui dit « vide égale vide ». Cela fonctionnera parfaitement pour nous,
2:11
alors mettons-le dans notre bloc « If ».
2:13
Nous voyons ici un nouveau type de connexion de bloc. Plutôt que des encoches latérales, ce bloc a des
2:18
trous. Nous avons déjà vu le type de bloc qui rentre dans ces trous, avec une languette triangulaire sur
2:24
le côté, non ? Ce sont des valeurs ou paramètres.
2:28
Revenons à notre rubrique de contrôleur « AMAZING » et prenons ce paramètre : « AMAZING
2:32
Boolean ». Si vous ne connaissez pas le mot booléen, sachez que c’est un état binaire, quelque chose qui
2:37
n'a que deux options, comme notre bouton.
2:41
Revenons à la rubrique Valeurs, et prenons ce bloc « True/False » c'est-à-dire « Vrai/Faux » pour
2:46
l'insérer dans le deuxième trou de notre bloc logique.
2:51
Lisons maintenant le programme déjà fait – quand le contrôleur change, si l'état du contrôleur est vrai,
2:57
alors cela change la légende en « ON ». Il ne reste plus qu'à définir ce qui se passe quand l'état est faux.
3:04
Mais où faire cela ? Il n'y a plus d’emplacements libres dans ce bloc !
3:08
! Pour résoudre ce problème, nous devrons utiliser l'icône de roue dentée que nous avons vue plus tôt.
3:13
Certains blocs comme celui-ci ont des configurations personnalisables. La petite fenêtre qui s'ouvre est
3:18
une sorte de version miniature de l'interface du Block Controller.
3:22
Sur la droite se trouve notre bloc, et sur la gauche la bibliothèque de ce que nous pouvons ajouter à ce
3:27
bloc – comme dans l'interface principale. Faisons glisser une nouvelle option dans notre bloc – l'option
3:33
« Else » qui signifie « sinon ». Quand on ajoute « Else » dans cette fenêtre de configuration, le bloc
3:37
change dans la fenêtre principale. Nous avons une nouvelle zone pour une deuxième commande.
3:43
Fermons la fenêtre de configuration en cliquant à nouveau sur l'icône de roue dentée. Il nous faut un
3:48
autre bloc « set Legend » pour cette nouvelle section, mais il suffit de copier et coller le premier.
3:53
La plupart des raccourcis clavier de Windows fonctionnent dans l'éditeur de Block Controller. Je copie
3:57
avec Control+C et colle avec Control+V, et j’en fais notre commande « Else ». Il ne me reste plus qu'à
4:03
changer la chaîne de Legend de ON en OFF.
4:08
Lisons notre script une dernière fois. Quand le contrôleur change, si l'état du contrôleur est vrai, cela
4:14
change la légende en « ON ». Sinon, cela change la légende en « OFF ». Ça a l'air bon ! Il me reste
4:20
quelques petites choses à vous montrer avant qu'on ait fini.
4:23
D'abord, il faut appuyer sur la barre jaune « Save changes » du haut pour sauvegarder les changements
4:27
et activer ce code. Cela permet de travailler sur votre programme dans un système actif sans rien
4:32
interrompre. Tant que vous n’appuyez pas sur « Save Changes », c’est l'ancien code qui reste exécuté.
4:39
Après avoir appuyé, nous pouvons revenir au schéma de Designer pour nous assurer que notre bouton
4:43
fonctionne. Quand je le désactive, la légende devient OFF. Quand je l'active, elle devient ON. Excellent !
4:51
Ok, vous avez raison. Il nous a fallu dix minutes pour obtenir d’un bouton qu’il change de légende, ce
4:56
n'est pas si impressionnant que ça. MAIS. Ce n'était qu'un tutoriel sur la façon dont les blocs se
5:00
connectent entre eux. En réalité, vous allez faire des choses beaucoup plus compliquées avec le Block
5:04
Controller. Par exemple, il faut savoir que vous pouvez empiler les commandes. Ces blocs peuvent
5:11
sembler rigides, mais ils adapteront leur taille à vos besoins.
5:14
Imaginons que je veuille aussi changer la couleur de ce bouton. Je pourrais ajouter une commande « Set
5:19
Color » dans ce bloc, et le bloc s'ajustera pour la recevoir.
5:23
Vous pouvez ajouter autant de commandes que vous le souhaitez de cette façon – donc lorsque vous
5:27
appuyez sur le bouton, il peut changer de légende et de couleur, réinitialiser un autre contrôleur, faire
5:33
démarrer une minuterie, activer un dispositif d'éclairage tiers, changer le calque visible sur l'UCI, lancer
5:40
un effet pyrotechnique, etc., tout cela en même temps. Maintenant, nous avons un bouton qui fait
5:45
beaucoup plus que changer de légende. C'est l’idée. Notre objectif.
5:53
Mais pour l'instant, je vais garder le mien simple, et ajouter des commandes pour avoir un bouton activé
6:00
vert ou sinon rouge. Là encore, je peux sauvegarder mes changements, et une fois de retour dans le
6:09
Schéma, j'ai un bouton qui change de couleur et de légende quand vous interagissez avec lui.
6:14
Autre chose très importante dans le Block Controller – un clic droit sur un bloc vous offre plusieurs
6:20
options. Vous pouvez sélectionner « Show Comment » pour afficher une section commentaire en haut du bloc.
6:26
Cela vous permet de saisir ce que vous voulez, sans aucun effet sur la fonctionnalité du bloc. Donc si
6:32
vous voulez vous rappeler ce que fait ce bloc, vous pouvez lui donner un titre.
6:36
Vous pouvez aussi choisir « Collapse Block » qui va réduire le bloc à une seule ligne visible, sans changer
6:43
le code. Cela peut être très pratique si vous avez beaucoup de blocs dans votre programme et que vous
6:48
devez vous concentrer sur un seul à la fois.
6:50
La ligne dentelée indique qu'il y a plus de choses à voir, et vous pouvez toujours redéployer le bloc avec
6:55
Expand Block pour le reconfigurer.
6:58
Très bien, une dernière chose. J'ai gardé le meilleur pour la fin ! Nous avons déjà dit que le Block
7:03
Controller est un excellent moyen pour ceux qui n'écrivent pas de code – comme moi – d'accomplir des
7:08
choses qui nécessitent des scripts. Eh bien, ces blocs écrivent littéralement le code pour vous, et vous
7:14
pouvez le lire en ouvrant l'onglet « Lua ».
7:18
C'est le script Lua de ce que nous avons fait jusqu'à présent. Ce qui se trouve au début n'est que de la
7:24
cuisine interne, tandis que le bloc que nous avons construit est représenté ici. Vous pouvez même le lire,
7:29
maintenant que vous comprenez comment le langage est structuré.
7:32
Si vous saviez déjà comment écrire un script, vous auriez pu écrire tout cela plutôt que d'utiliser le Block
7:36
Controller. Mais si vous aviez tapé quelque chose de faux, si vous aviez oublié une majuscule, ou si vous
7:42
n'étiez pas sûr du format à adopter, alors le script ne fonctionnerait pas.
7:46
Le Block Controller vous épargne tous ces soucis en vous permettant de construire votre programme
7:50
avec des pièces de puzzle faciles à gérer, et le code écrit en arrière-plan – sans erreur de syntaxe.
7:56
Si vous êtes intéressé par l'apprentissage des scripts, la lecture de cet onglet Lua peut accompagner
8:01
votre progression. En fait, pour éditer ce script par vous-même, vous pouvez sélectionner cette icône en
8:07
haut de l'écran et choisir « Convertir en script ». Mais un avertissement apparaîtra alors, et à juste titre.
8:14
Vous pouvez convertir des blocs en script pour continuer l'édition dans Lua, mais vous ne pourrez plus
8:19
reconvertir ces éditions en blocs. Après avoir sélectionné OK, l'interface devient un écran de script avec
8:27
du texte modifiable. « Revert to Blocks » vous donne la possibilité de revenir aux blocs, mais vous
8:33
reviendrez alors aux blocs d'origine, en perdant tous les changements faits dans Lua.
8:40
Voilà, c'est cela le composant Block Controller. Nous n'avons bien sûr que survolé ce qu'il peut faire, et
8:45
ce que sont les différents blocs dans chaque catégorie. Nous voulions surtout vous montrer comment
8:50
les blocs se connectent, comment certains sont personnalisables, et nous espérons que vous vous
8:55
sentirez à l'aise dans la fenêtre d'édition maintenant que vous connaissez les options proposées. Dans
9:00
les vidéos à venir, nous irons plus lentement et parlerons des concepts d'un langage de programmation,
9:05
en mettant en œuvre chaque idée à la fois dans Lua et dans le Block Controller. Merci de votre attention.