Source: Scratch Wiki en français
Sur Scratch, il est assez courant de voir des projets de type Paint. Ca permet à l'utilisateur de dessiner à l'aide de la souris. Vous voulez savoir comment un tel prodige est possible ? Alors lisez la suite !
Le stylo
Tout simplement, il nous suffira d'utiliser le stylo. Mais le stylo ne fonctionne que si un sprite est présent ! Alors créez tout d'abord un sprite (vous pouvez utiliser le chat Scratch, de toute façon ça ne change rien). Maintenant, ajoutez ce script dans ce sprite :
quand le drapeau vert pressé cacher
Votre sprite est invisible. Maintenant, on va le faire suivre la souris. Ajoutez ce script :
quand le drapeau vert pressé cacher répéter indéfiniment aller à [pointeur de souris v] end
Même si vous ne le voyez pas, le sprite suis le pointeur de souris. Mais s'il ne dessine pas... quel intérêt ? Alors on va ajouter ce simple bloc :
quand le drapeau vert pressé cacher stylo en position d'écriture // lui, là répéter indéfiniment aller à [pointeur de souris v] end
Sauf que... le sprite dessine tout le temps ! Voyons comment empêcher cela...
Détection du clic
Tout d'abord, il est plus simple de supprimer le bloc que l'on vient d'ajouter (celui-là :)
stylo en position d'écriture
Maintenant, créons ce script :
si <souris pressée?> alors stylo en position d'écriture sinon end
Il est désormais question de faire comprendre au sprite de ne dessiner que si la souris est pressée. Alors il faut aussi lui faire comprendre l'inverse : ne pas dessiner si la souris n'est pas pressée ! Complétons donc le script.
si <souris pressée?> alors stylo en position d'écriture sinon relever le stylo end
Et intégrons-le au reste du code :
quand le drapeau vert pressé cacher répéter indéfiniment aller à [pointeur de souris v] si <souris pressée?> alors stylo en position d'écriture sinon relever le stylo end end
Couleur
Si maintenant le projet fonctionne, je vous conseille d'ajouter de la couleur. Pour cela, rien de plus simple qu'une variable ! Créez celle-ci :
(couleur)
Et faites un clic droit sur cette variable dans la scène et choisissez "Potentiomètre". Maintenant, créez encore un sprite et dessinez-lui comme costume un carré rouge (pourquoi rouge ? Car c'est la couleur correspondant à 0). Maintenant, créez ce script dans le sprite carré :
quand le drapeau vert pressé répéter indéfiniment mettre l'effet [couleur v] à (couleur) end
Maintenant, dans le sprite avec le stylo...
quand le drapeau vert pressé cacher répéter indéfiniment aller à [pointeur de souris v] mettre la couleur du stylo à (couleur) // ne pas confondre avec "ajouter à" si <souris pressée?> alors stylo en position d'écriture sinon relever le stylo end end
Voilààà ! Si vous changez la variable en cliquant sur le petit rond, vous verrez le carré changer de couleur, et la couleur du stylo aussi !