De Scratch Wiki en Français


Les clones



Une interprétation visuelle du fonctionnement du clonage. Les clones d'un lutin parent peuvent être différents, comme le montrent les expressions faciales.

Le clonage est une fonctionnalité qui permet à un lutin de créer un clone, ou semi-dupliqué, de lui-même pendant l'exécution du projet. Les clones d'une image-objet seront identiques à l'image-objet d'origine ou parent mais en tant qu'instance distincte. Les clones héritent des scripts, des costumes, des sons et des propriétés du parent, mais ils peuvent être modifiés. Il y a une limite de 300 clones par projet pour éviter un retard excessif ou des blocages[1], mais 301 peut être fait, comme le montre le membre de l'équipe Scratch thisandagain dans ce projet.


Usages pour le clonage

Le clonage est un aspect essentiel de nombreux jeux et projets bien conçus, réduisant le nombre de lutins 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 2.0, il existe trois blocs liés au clonage. Tout se trouve dans la palette de contrôle.

Créer un clone de ()

Article principal: Créer un clone de ( v)
créer un clone de [moi v]

Ce bloc d'empilement clone un lutin à l’intérieur du projet, en fonction de ce qui a été sélectionné dans le menu déroulant. Sa version du pré-jour du jour Scratch 2011 n'avait pas d'insertion déroulante pour sélectionner un lutin.

Quand je commence comme un clone

Article principal: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

Article principal: 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.

Lutin en double

En excluant le clonage, il existe deux manières de dupliquer une image-objet:

Créer un nouveau lutin

Cliquez avec le bouton droit sur une image-objet dans la zone ou la scène des lutins 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 lutin que vous souhaitez dupliquer.

Cela fera apparaître le nouveau lutin dans la nouvelle zone des lutins avec tous les mêmes costumes, scripts et sons.

Utilisation des variables

Les variables marquées comme « pour tous les lutins » seront les mêmes pour chaque clone, mais les variables marquées « pour ce lutin uniquement » seront personnalisées pour chaque clone, c'est-à-dire que chaque clone aura sa propre valeur pour la variable.

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 lutin. D'autres lutins 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 2.0 utilise ce style de clonage.

BYOB

Dans le clonage de style BYOB, un clone est un nouveau lutin 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 lutin et lui rapporte une référence, qui peut ensuite être utilisée pour le contrôler.

Références

  1. http://scratch.mit.edu/discuss/post/13617/