Source: Scratch Wiki en français


Les blocs de Scratch dans le forum


Un problème de script dans Scratch est vite arrivé. C'est pourquoi il est souvent utile aux Scratcheurs de le montrer à la communauté pour voir d'où vient le problème. Malheureusement, il n'est pas toujours facile d'expliquer du code… Il est donc plus pratique de le montrer dans le forum. Heureusement, c'est possible. Des blocs personnalisés peuvent de même être créés pour imaginer d'autres fonctions ou simplement changer les couleurs et d'autres paramètres.

Les blocs "classiques"

Les blocs "classiques" sont ceux présents dans l'éditeur Scratch.

Comment faire?

Quand vous répondez à un message dans les forums de Scratch, dans la barre d'édition au dessus de la boite de texte, se trouve un bouton bleu avec la forme grossière d'un bloc Scratch. Déplacez votre souris sur ce bouton et un menu déroulant apparaît.

Dans ce menu, tous les blocs "classiques" de Scratch sont présents. Il suffit de déplacer sa souris sur le type de bloc contenant le bloc que vous voulez ajouter. Ensuite, le bloc s'affiche sur la droite de la liste. Il n'y a plus qu'à cliquer dessus pour ajouter le bout de code correspondant.

1. Le script de base

Tout message dans les forums est normalement censé accueillir du texte, pas des blocs… Il faut donc spécifier que les mots et caractères qui vont suivre seront des blocs du forum. On utilise donc les "tags" (sorte de petit mot spécifiant quelque chose) délimités par les crochets.

Donc, tous les mots et caractères entre ces "tags" seront considérés comme du code, code qui sera traduit en blocs.

2. Le code pour chaque bloc

Entre ces 2 tags, s'ajoute sur chaque ligne un bout de code pour chaque bloc. Le code du bloc peut être ajouté automatiquement en cliquant sur le bloc correspondant dans la barre d'édition du message mais peut être aussi trouvé sur l'article du Wiki correspondant.

[scratchblocks] aller à x:(0) y:(0) [/scratchblocks]

Les blocs "personnalisés"

Vous voulez imaginer d'autres blocs (en tout cas leur apparence) ? C'est super ! Cet article devrait vous aider !

Qu'est-ce-que c'est?

Le principe des blocs personnalisés est simple : imaginez des blocs avec des couleurs différentes que celles habituelles sur Scratch et avec des formes qui ne dépendent pas du type de bloc…

Quand vous lirez cet article :: motion hat
dire ça vous intéresse [beaucoup v] :: events
si <vous comprenez tout::grey> alors:: operators
essayer [sans tarder v] :: sensing
sinon :: operators
ne pas laisser tomber et relire l'article :: looks cap
end

Une fois que vous l'aurez fini :: motion hat
dire que vous vous êtes amusé à (100 :: control) % :: custom

Ça vous a donné envie ? Super !

Juste sur le forum ?

Oui, seulement sur les forums. Il n'y a pas moyen d'imaginer vos blocs directement dans l'éditeur de Scratch (en ligne ou hors-ligne).

Alors, comment fait-on ?

Il suffit de reprendre le code pour les blocs "classiques", mais à la place d'écrire du code correspondant aux blocs qui existent, écrire ce que l'on veut.

Il y a moyen de forcer l'apparence de ce bloc personnalisé de plusieurs façons.

1. Forcer la couleur

Afin de pouvoir personnaliser la couleur de votre bloc, ajoutez "::" à la fin de votre bloc. Vous vous retrouvez donc avec quelque chose de ce style :

[scratchblocks] code :: [/scratchblocks]

Puis ajoutez à la suite le mot correspondant à la couleur qui vous plaît (en référence aux blocs en anglais) :

Bloc Couleur et type Code
bloc::motion Pour un bloc bleu, comme ceux de mouvement bloc::motion
bloc::looks Pour un bloc mauve, comme ceux d'apparence bloc::looks
bloc::sound Pour un bloc violet, comme ceux de sons bloc::sound
bloc::variables Pour un bloc orange, comme ceux des variables bloc::variables
bloc::list Pour un bloc orange foncé, comme ceux des listes bloc::list
bloc::events Pour un bloc jaune, comme ceux des événements bloc::events
bloc::control Pour un bloc orange clair, comme ceux de contrôle bloc::control
bloc::sensing Pour un bloc bleu clair, comme ceux des capteurs bloc::sensing
bloc::operators Pour un bloc vert, comme ceux des opérateurs bloc::operators
bloc::custom Pour un bloc rose/rouge, comme ceux personnalisés bloc::custom
bloc::custom-arg Pour un bloc rose/rouge, comme ceux des arguments bloc::custom-arg
bloc::grey Pour un bloc gris clair bloc::grey
bloc::obsolete Pour un bloc rouge, comme ceux obsolètes bloc::obsolete
bloc::extension Pour un bloc vert foncé, comme ceux des extensions bloc::extension
bloc::pen Pour un bloc d'extension stylo bloc::pen
bloc::music Pour un bloc d'extension musique bloc::music
bloc::video Pour un bloc d'extension de détection vidéo bloc::video
bloc::tts Pour un bloc d'extension de synthèse vocale bloc::tts
bloc::translate Pour un bloc d'extension traduction bloc::translate
bloc::boost Pour un bloc d'extension Lego BOOST bloc::boost
bloc::wedo Pour un bloc d'extension Lego WeDo 2.0 bloc::wedo
bloc::ev3 Pour un bloc d'extension Lego Mindstorm EV3 bloc::ev3
bloc::microbit Pour un bloc d'extension micro:bit bloc::microbit
bloc::makeymakey Pour un bloc d'extension Makey-Makey bloc::makeymakey
bloc::gdxfor Pour un bloc d'extension Go Direct bloc::gdxfor
bloc::#ff00ff Pour un bloc avec une couleur personnalisée (au format hexadécimal) bloc::#ff00ff

Si vous voulez un bloc, mettons… vert, vous allez donc écrire :

[scratchblocks] texte :: operators [/scratchblocks]

Et vous obtiendrez :

texte :: operators

2. Forcer la forme

Il est également possible de, en plus de la couleur, changer le "type" de bloc. Cela a pour effet de modifier sa forme (forme de chapeau ; comme bloc de début ou bloc de fin). Pour modifier cette apparence de bloc, il suffit d'ajouter un bout de code dans le code du bloc, juste avant celui déterminant la couleur. Cela donne donc un code comme suit :

Code :: Apparence du bloc

Bloc Type Code
bloc::hat
Blocs de tête bloc::hat
bloc::stack
Blocs d'empilement bloc::stack
bloc::ring
Blocs de valeur bloc::ring
bloc::reporter
Blocs de valeur bloc::reporter
bloc::boolean
Blocs Booléens bloc::boolean
bloc::cap
Blocs de fin bloc::cap
bloc{
}
Blocs en forme de C bloc{

}

bloc {
} {
}
Blocs en forme de E bloc {

} { }

Info
 Info :
Il est possible de forcer un bloc à avoir un type de bloc et une couleur spécifique à la fois en "additionnant" les bouts de code pour la couleur et la forme.

Ci suit un exemple.

[scratchblocks] texte :: hat operators [/scratchblocks]

Qui donnerait :

texte :: hat operators

3. Ajouter une entrée

Il est également possible d'ajouter différents types d'entrées à vos blocs.

Bloc Type Code
bloc (10) 
Entrée numérique (nombre)
LeSaviezVous
 LeSaviezVous :
Il existe des moyens de mettre des lettres dans ce type d'entrée comme copier/coller
Attention
 Attention :
Si vous mettez des lettres dans ce type d'entrée, le contenu deviendra une variable
bloc (10)
bloc [abc]
Entrée de texte bloc [abc]
bloc <vrai>
Entrée booléenne bloc <vrai>
bloc [choix v]
Entrée depuis un menu déroulant bloc [choix v]
bloc [#123456]
Entrée de couleur bloc [#123456]

Exemple :

[scratchblocks] une [liste v] :: looks une (variable bleue :: motion) :: pen ça vous <intéresse> ? :: operators un [texte] ? :: sensing ok, un (5)ème bloc :: control [/scratchblocks]

donnera :

une [liste v] :: looks
une (variable bleue :: motion) :: pen
ça vous <intéresse> ? :: operators
un [texte] ? :: sensing
ok, un (5)ème bloc :: control

4. Les icônes et accessoires par "@"

Bloc Type Code
@greenFlag ::events
Drapeau vert @greenFlag
@turnLeft ::motion
Tourner à gauche @turnLeft
@turnRight ::motion
Tourner à droite @turnRight
((report []::stack control) @addInput ::grey ring)
Quand une entrée de sélection est ouverte @addInput
{
}@loopArrow::control
La flèche de boucle @loopArrow

Exemple :

[scratchblocks] @greenFlag quand le drapeau rouge est cliqué::events hat @turnLeft tourner (15) fois à gauche::motion stack [/scratchblocks]

@greenFlag quand le drapeau rouge est cliqué::events hat
@turnLeft tourner (15) fois à gauche::motion stack

Les commentaires

Dans le forum comme dans l'éditeur, vous pouvez ajouter des commentaires à côté des blocs.

Pourquoi faire ?

Comme dans l'éditeur, cela sert à donner des précisions sur un bloc ou un ensemble de blocs.

Comment faire ?

Pour ajouter un commentaire au bloc de code, il suffit d'ajouter un double slash sur la même ligne que le bloc en question, suivi de votre commentaire.

aller à x:(0) y:(100) // position du début

donnera  :

aller à x:(0) y:(100)::motion // position du début