Source: Scratch Wiki en français
Le clonage est une fonctionnalité qui permet à un sprite de créer un clone ( ou semi-dupliqué ) de lui-même pendant l'exécution du projet. Le clone héritera des propriétés du sprite sur lequel il est basé, mais ces dernières peuvent être modifiées.
Limite du clonage
Il y a une limite de 300 clones par projet pour éviter un retard excessif ou des blocages[1], mais il est dans les faits possible d’en créer 301, comme le montre le membre de l'Équipe Scratch thisandagain dans ce projet. La limite a été ajouté avec l'arrivée de Scratch 3.0.
Usages pour le clonage
Le clonage est un aspect essentiel de nombreux jeux et projets bien conçus, réduisant le nombre de sprites et de scripts nécessaires à un projet, et empêchant ainsi tout décalage inutile.
Les clones et les blocs associés peuvent être utilisés dans / pour:
- Jeux de Tower Defense
- De nombreux jeux de style arcade
- Effets spéciaux (ex. Feux d'artifice, neige)
- Projets basés sur le RNG
- Sentiers de souris
- Tout projet nécessitant plusieurs sprites répétitifs
Blocs de clonage
Dans Scratch 3.0, il existe trois blocs liés au clonage. Tout se trouve dans la palette de contrôle.
Créer un clone de ()
créer un clone de (moi-même v)
Ce bloc d'empilement clone un sprite à l’intérieur du projet, en fonction de ce qui a été sélectionné dans le menu déroulant.
Quand je commence comme un clone
quand je commence comme un clone
Ce bloc de chapeau s'active lorsqu'un clone est créé. Il ne s'exécute que dans le clone nouvellement créé, pas les clones précédents, les autres clones ou le parent.
Supprimer ce clone
supprimer ce clone
Ce bloc supprime le clone dans lequel il s'exécute et arrête tous les scripts exécutés.
Sprite en double
En excluant le clonage, il existe deux manières de dupliquer une image-objet :
Créer un nouveau sprite
Cliquez avec le bouton droit sur une image-objet dans la zone ou la scène des sprites et sélectionnez « dupliquer ». Notez que les costumes, les scripts et les sons seront également copiés.
Estampillage
Sélectionnez l'outil de duplication (une figure semblable à un tampon) au-dessus de la zone de la scène et à gauche des boutons de présentation. Cliquez ensuite sur le sprite que vous souhaitez dupliquer.
Cela fera apparaître le nouveau sprite dans la nouvelle zone des sprites avec tous les mêmes costumes, scripts et sons.
Utilisation des clones
- Les variables marquées comme « pour tous les sprites » seront les mêmes pour chaque clone, mais les variables marquées « pour ce sprite uniquement » seront personnalisées pour chaque clone, c'est-à-dire que chaque clone aura sa propre valeur pour la variable.
- C'est le même principe pour les listes.
- Un clone peut avoir ses propres paramètres d'extension, taille, costume, position, direction, volume sonore, effets graphiques, …
Clonage dans les programmes alternatifs à Scratch
Il existe deux types différents de clonage implémentés dans différentes modifications de Scratch. Ils sont communément appelés « clonage de style Panther » et « clonage de style BYOB ».
Panthère
Dans le clonage de style Panther, un clone hérite des propriétés de son parent mais n'en est qu'un clone, pas un nouveau sprite. D'autres sprites peuvent détecter les clones, en utilisant le Touching ()? bloquer, avec le parent comme argument. Le code pour le clonage de style Panther a été implémenté dans Scratch 1.4, laissant entendre qu'il s'agissait d'une fonctionnalité planifiée, mais qu'elle n'a pas été ajoutée. Scratch 3.0 utilise ce style de clonage.
BYOB
Dans le clonage de style BYOB, un clone est un nouveau sprite dans la liste des images-objets, avec des données modifiables qui lui sont propres. Les clones sont créés avec un bloc Opérateurs "(clone)", qui clone un sprite et lui rapporte une référence, qui peut ensuite être utilisée pour le contrôler.