En alguna otra ocasión ya hemos hablado del uso de clones en Scratch. Esta característica, aunque es un poco más avanzada, supone una funcionalidad muy útil en muchos proyectos. La gran ventaja que nos ofrece es la simplificación de las instrucciones y minimización del número de objetos que realizan tareas similares.

Un ejemplo que muestra claramente su gran potencial es la creación del efecto de nieve. El funcionamiento en este caso es muy simple: cada copo de nieve se sitúa en la parte superior de la pantalla y tiene que desplazarse hacia abajo hasta llegar al borde inferior.

De esta forma, podríamos pintar un objeto “nieve” y programarlo para que haga dicho cometido. Una posible solución sería:

CopoDeNieve

El problema de esta solución está en que si queremos que caigan más copos a la vez tendríamos que duplicarlo unas cuantas veces. Esto generaría muchos objetos similares que, además de “ensuciar” nuestro proyecto, mantendría muchas secuencias de instrucciones repetidas, algo que en la programación tenemos que evitar.

Los clones nos permiten dar una solución más eficiente a este problema. En vez de generar muchos copos de nieve, vamos a crear solo uno y lo vamos a clonar continuamente, dándole instrucciones a cada uno de ellos para que se comporten como queramos: desplazarse hacia abajo hasta llegar al borde inferior.

NieveConClones

Como podéis ver, no solo hemos reducido el número de objetos, sino que la programación del mismo es a la vez muy simple. Si ahora necesitáramos hacer alguna modificación, no tendríamos que ir realizándola en cada uno de los copos, bastaría con hacerlo en uno.

A partir de aquí podríamos personalizar nuestra tormenta de nieve:

  • Hacer que cada copo tenga un tamaño distinto.
  • Crear distintos disfraces y asignar uno aleatorio a cada clon.

NiveConClonesYefectos

O bien utilizarlo para cualquier otro cometido, ¿te animas a mejorar tus proyectos con clones?