Source: Scratch Wiki en français
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 citeront 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 :