Source: Scratch Wiki en français


Utiliser la souris pour dessiner


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
Attention
 Attention :
Il est important que le script se trouve dans la boucle "répéter indéfiniment".

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 !

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