Añadir un objeto de la biblioteca al escenario con addChild()
Tuesday, 16. February 2010
En el artículo anterior hemos explicado la forma en que pueden ser utilizados addChild() y removeChild para insertar o quitar objetos del escenario a través de actionSctpt 3. En esta ocasion revisaremos cual es la forma de utilizar un objeto, el cual hemos creado como símbolo y lo tenemos en nuestra biblioteca, para que este sea insertado en el escenario.
Veremos paso por paso a través de un ejemplo, que necesitamos para introducir objetos en el escenario con addChild() a través de actionScript 3, en el tiempo de ejecución de la aplicación.
Paso 1: Convertir en símbolo y vincular.

Una vez tenemos creado nuestro objeto o elemento, lo seleccionamos y pulsamos F8 (podemos hacer click derecho sobre el objeto -> Convertir en Símbolo). Nos aparecerá una ventana en donde introduciremos las principales propiedades del objeto. Seleccionamos el tipo de símbolo que deseamos utilizar, y le ponemos un nombre ‘de clase’. Este nombre normalmente debe empezar con mayúscula. En este caso vamos a ponerle como nombre “Carro”.

En la parte de abajo de esta misma ventana, en el recuadro llamado vinculación seleccionamos “Exportar para ActionScript”. Y revisamos que el nombre de la clase sea el mismo “Carro”. Hacemos click en aceptar. Nos saldrá una ventana sin importancia de momento que podemos aceptar.

En cualquier momento podemos volver aquí haciendo click derecho sobre el objeto en la biblioteca y seleccionando “Vinculación”. Una vez hecho esto podemos borrarlo del escenario.
Paso 2: Crear instancia del objeto.
Lo que hemos hecho hasta el momento es, básicamente, crear una clase. Ahora vamos a crear una instancia de esa clase. Digamos que la clase será el elemento original (el símbolo) y la instancia será una copia de la misma. La instancia se crea como definiendo una variable, y normalmente se suele usar su mismo nombre empezando con minúscula. Ahora sí utilizamos ActionScript para esto, y es aquí donde es importante revisar que el nombre de clase esté bien, y la vinculación sea correcta, pues si no, no funcionará:
var carro:Carro=new Carro();
addChild(carro);
Y tendremos en el escenario una instancia de nuestro objeto en biblioteca, insertada desde el código.

Podemos crear tantas instancias del mismo objeto como queramos. Para esto podemos simplemente repetir el mismo procedimiento, y a cada instancia podemos modificar sus propiedades. Por ejemplo:
var posicionX:uint=20;
var posicionY:uint=20;
for (var i=0; i < 4; i++) {
var carro:Carro=new Carro();
carro.x=posicionX;
carro.y=posicionY;
addChild(carro);
posicionX+=50;
posicionY+=80;
}

Para este ejemplo utilizamos un loop for al cual le decimos cuantas insstancias queremos crear.
Espero que el artículo sea de utilidad. Cualquier comentario, duda, aporte o sugerencia, se puede dejar en el sistema de comentarios del blog.
Saludos.
Samuel Jiménez. EsK.






oscar Says:
Genial este sitio, muchas gracias
Daniel Says:
great!
Enzo Says:
Hola muy bueno el tutorial…siguendo con el mismo quisiera saber como convertirlos en boton y que al clickear el boton uno tracee 1 al clickear el boton 2 tracee 2 etc … muchas gracias
Enzo
galeonp Says:
perfecto para una galeria sin tantos frames….
amado Says:
y como elimino todos los carros???