Source: Scratch Wiki en français
Le Mode Turbo est un mode de fonctionnement du lecteur Scratch dans lequel les scripts sont exécutés le plus vite possible.
Utilisations
Ses utilisations principales sont le gain de temps dans les projets nécessitant beaucoup de calculs mathématiques par exemple.
Il peut être aussi utilisé pour accélérer les animations (pas de rafraîchissement de l'écran), puisque les différents effets seront appliqués directement.
Activation et désactivation
Le mode Turbo s'active de 2 manières différentes (équivalentes). Soit :
- en faisant un Shift (Maj) + Click sur le drapeau vert
- dans l'éditeur, en allant dans les menus : Modifier > Activer le Mode Turbo
Quand le mode turbo est activé, une inscription orange avec "Mode Turbo" apparaît à côté du drapeau vert. La prochaine fois que le drapeau vert sera cliqué, le projet démarrera en Mode Turbo.
Pour désactiver le mode Turbo, la procédure est la même que pour l'activation du mode. L'inscription orange disparaîtra près de la scène, indiquant que le projet fonctionnera à vitesse normale.
Scratch 1.4 et avant
Scratch 3.0
Dans Scratch 3.0 le mode turbo a augmenté considérablement la vitesse d'exécution d'un projet (par rapport à la vitesse du même projet en mode Turbo dans Scratch 2.0).
Détecteur de mode turbo
Pour l'instant, il n'existe pas de détecteur de mode turbo dans Scratch, mais on peut en créer un…
Avec chronomètre
Pour le créer il faut suivre le code suivant :
quand le drapeau vert pressé répéter indéfiniment réinitialiser le chronomètre répéter (3) fois attendre (0) secondes end si <(chronomètre) < [0.1]> alors mettre [Mode Turbo ? v] à [oui] sinon mettre [Mode Turbo ? v] à [non] end end
Sans chronomètre
Il est également possible d'en faire un qui n'utilise pas le chronomètre, mais il est moins précis, il faudra donc le code suivant :
quand le drapeau vert pressé envoyer à tous (Turbo ? v) répéter indéfiniment si <(abscisse x) > (10)> alors mettre [Mode Turbo ? v] à [oui] sinon mettre [Mode Turbo ? v] à [non] quand je reçois [Turbo ? v] répéter indéfiniment aller à x:(0) y:(0) mettre [Seconde v] à (([seconde v] actuelle) + (0.01)) répéter jusqu'à ce que <([seconde v] actuelle) > (seconde) avancer de (0.1) pas si <([seconde v] actuelle) = (0)> alors envoyer à tous [Turbo ? v]
Testez le script :