De Scratch Wiki en français

m (Catégorie)
Ligne 1 : Ligne 1 :
 
{{Titre|Détecter quand le bouton d'arrêt est cliqué (tutoriel)}}
 
{{Titre|Détecter quand le bouton d'arrêt est cliqué (tutoriel)}}
  
Nombreux sont ceux qui ont demandé un bloc <sb>quand le bouton d'arrêt est cliqué ::events hat</sb>. Mais il a été refusé car il irait à l'encontre du [[Bouton_rouge|bouton d'arrêt]]. C'est très facile de le reproduire sur Scratch.
+
Nombreux sont ceux qui ont demandé un bloc <sb>quand le bouton d'arrêt est cliqué ::events hat</sb>. Mais il a été refusé car il irait à l'encontre du [[Bouton_rouge|bouton d'arrêt]] et du bloc <sb>stop [tout v]</sb>. C'est très facile de le reproduire sur Scratch.
  
 
=Utilité=
 
=Utilité=

Version du 20 avril 2021 à 05:17


Détecter quand le bouton d'arrêt est cliqué (tutoriel)


Nombreux sont ceux qui ont demandé un bloc quand le bouton d'arrêt est cliqué ::events hat. Mais il a été refusé car il irait à l'encontre du bouton d'arrêt et du bloc stop [tout v]. C'est très facile de le reproduire sur Scratch.

Utilité

Détecter quand le bouton d'arrêt est cliqué est très utile dans certains projets, comme par exemple :

  • dire au revoir quand quelqu'un quitte le jeu
  • afficher la vignette d'un jeu

Méthodes

Ces méthodes utilisent une des propriétés du chronomètre intégré aux projets Scratch : celui-ci continue de fonctionner même quand le bouton d'arrêt est cliqué.

Méthode 1

Info
 Info :
Utilisez cette méthode si le chronomètre est nécessaire pour votre jeu, elle nécessite l'utilisation d'une variable
quand le drapeau vert pressé
répéter indéfiniment
mettre [détecteur v] à ((chronomètre) + (0.1)) // si vous ne voulez pas de délai après le clic sur le bouton, mettez juste "chronomètre"
end


quand le [chronomètre v] > (détecteur)
...
stop [ce script v]

Le 1er script met continuellement la valeur de la variable détecteur égale à celle du chronomètre en ajoutant le délai entre le clic sur le bouton d'arrêt et l'exécution du 2ème script. Quand le bouton d'arrêt est cliqué, le 1er script ne fonctionne plus et la variable détecteur n'est plus modifiée. Par contre le chronomètre continue et quand sa valeur dépasse alors celle de la variable détecteur, le 2ème script s'exécute.

Méthode 2

Attention
 Attention :
N'utilisez cette méthode que si le chronomètre n'est pas nécessaire car sa valeur est perpétuellement remise à zéro par un script.
quand le drapeau vert pressé
répéter indéfiniment
réinitialiser le chronomètre
end


quand le [chronomètre v] > (0.3) //  vous pouvez modifier le délai pour en avoir un plus long ou plus court, ou vous pouvez tout simplement mettre "0" pour une exécution instantanée
...

Le 1er script réinitialise le chronomètre pendant toute l'exécution du projet. Quand le bouton d'arrêt est cliqué, ce script cesse de s'exécuter et le chronomètre fonctionne alors normalement. Le 2ème script attend que le chronomètre dépasse la valeur indiquée pour s'exécuter. Contrairement à la première méthode, la deuxième ne nécessite pas l'utilisation d'une variable. Par contre vous ne pouvez utiliser le chronomètre pour mesurer le temps dans votre projet.

Lié

Cet article est une traduction d'un article du Scratch Wiki anglophone. Si vous voulez le voir dans sa langue originale, cliquez ici.

Info
 Info :
Dans la 1ère méthode de la version anglophone, vous avez un bloc
si <(chronomètre) > (détecteur)> alors
end
Ce bloc était présent pour régler un ancien bug qui est expliqué dans un commentaire à côté de ce bloc. Mais comme ce bug est réglé, ce bloc n'est plus nécessaire et c'est pour cela qu'il n'est pas présent dans cette traduction.
Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :
Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.