Comunidad de diseño web y desarrollo en internet online

Cómo duplicar un MovieClip en ActionScript 3

En ActionScript 3 ya no existe el método duplicateMovieClip, pero eso no quiere decir que no podamos duplicar un MovieClip situado en nuestra película.

Con esta pequeña clase podemos conseguir ese duplicado:

Código :

package com.zguillez.as3
{
   import flash.display.DisplayObject;
   public class Tools
   {
      public static function duplicateMovieClip(target:DisplayObject):DisplayObject
      {
         var targetClass:Class;
         targetClass = Object(target).constructor;
         var duplicado:DisplayObject = new targetClass();

         duplicado.transform = target.transform;
         duplicado.filters = target.filters;
         duplicado.cacheAsBitmap = target.cacheAsBitmap;
         duplicado.opaqueBackground = target.opaqueBackground;

         target.parent.addChild(duplicado);
         return duplicado;
      }
   }
}


Su uso sería este:

Código :

import com.zguillez.as3.Tools;
var clip2:DisplayObject = Tools.duplicateMovieClip(clip);
clip2.x = 200;
clip2.y = 100;


Lo que estamos haciendo es hacer una copia de la clase pasada como parámetro (targetClass) en duplicado:DisplayObject, y a esa nueva clase le añadimos los mismo filtros y transformaciones que la clase original.

Nota: Para poder crear el duplicado de un MovieClip situado en la librería es necesario que el MovieClip tenga la opción "Exportar para ActionScript" activada y con un nombre de clase.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate