Source: Scratch Wiki en français
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
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.
- Tout d'abord, il faut créer un costume bitmap de 2x2 pixel, uni, sans transparence.
- Nommez ce costume pixel
- Ensuite, créez un costume bitmap rempli, uni, sans transparence.
- Nommez ce costume full
- Créer un bloc personnalisé
couleur touchée::custom
, avec l'option "Exécuter sans rafraichissement d'écran" activée. - 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.
Voir aussi
Les blocs du même type :