Source: Scratch Wiki en français


Créer le bloc "couleur touchée"


Ce tutoriel vous invite à en savoir plus sur les couleurs, et vous permet de créer un bloc détectant la couleur d'un pixel de la scène.

Les couleurs sur Scratch

Sur Scratch, les couleurs peuvent être indiquées de différentes manières :

  • depuis l'interface de sélection de couleur [#ae12ae]::ring sensing ;
  • en utilisant un code hexadécimal à 6 valeurs (donc pas de transparence) comme ae12ae ainsi : regrouper [0x] et [ae12ae] ;
  • en utilisant un nombre relatif au code de couleur RougeVertBleu (RVB/RGB) ainsi : (((rouge) * (65536)) + (((vert) * (256)) + (bleu))), où les variables sont des valeurs de 0 à 255.
  • en utilisant la couleur rouge pur [0xff0000] [#ff0000]::ring sensing, et en utilisant les effets couleur, luminosité et fantôme/transparence sur du blanc pour réaliser une couleur au format HSL (Couleur Saturation Luminosité) ;
  • Il y a d'autres méthodes, comme avec des extensions communautaires, mais nous ne les citerons pas.

La méthode nous intéressant ici est la RVB/RGB.

Méthode RVB

Les couleurs RVB.

La méthode de couleur Rouge Vert Bleu permet de réaliser 16 777 216 couleurs différentes. Cependant, Scratch ne peut pas afficher autant de couleurs, et c'est à notre avantage : il ne peut en afficher que 16 384 différentes : 32 teintes de rouge, 32 teintes de vert et 16 teintes de bleu.

Le bloc couleur touchée

Comme indiqué au-dessus, Scratch ne détecte pas toutes les couleurs du format RVB, il en détecte seulement 16 384. Nous Adapterons notre programme à cela.

  1. Tout d'abord, il faut créer un costume bitmap de 2x2 pixel, uni, sans transparence.
  2. Nommez ce costume pixel
  3. Ensuite, créez un costume bitmap rempli, uni, sans transparence.
  4. Nommez ce costume full
  5. Créer un bloc personnalisé couleur touchée::custom, avec l'option "Exécuter sans rafraichissement d'écran" activée.
  6. Voici le script à utiliser :
définir couleur touchée::custom
basculer sur le costume (full v)
mettre la taille à (1)% de la taille initiale
basculer sur le costume (pixel v)
mettre [couleur touchée : idx v] à (0)
mettre [couleur touchée : couleur v] à [Erreur : couleur manquée] // Si le script vous retourne cette valeur, vous avec déplacé/caché le sprite durant le programme. Il n'est pas possible d'obtenir cette valeur autrement
répéter (32) fois {
répéter (32) fois {
répéter (16) fois {
si <Couleur (couleur touchée : idx) touchée ?> alors {
mettre [couleur touchée : couleur v] à (couleur touchée : idx)
stop [ce script v]
}::control
ajouter (16) à [couleur touchée : idx v]
}@loopArrow::control 
ajouter (1792) à [couleur touchée : idx v]
}@loopArrow::control 
ajouter (458752) à [couleur touchée : idx v]
}@loopArrow::control 
  • C'est bon ! Vérifiez si vous avez bien respecté les instructions. Si oui, vous avez terminé le tuto.
Info
 Info :
Le noir à pour couleur 0, le blanc 16777216. Il est possible en divisant par les facteurs de retrouver les 3 valeurs du RVB.

Voir aussi

Les blocs du même type :

Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :