Añadir un objeto de la biblioteca al escenario con addChild()

Tuesday, 16. February 2010

addChild y removeChild en AS3

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.

Convertir en Símbolo

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”.

Ventana: Convertir en Símbolo

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.

Ventana de advertencia

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.

Objeto introducido por 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;
}

Varias instancias de un mismo Símbolo

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.

VN:F [1.9.1_1087]
Rating: 9.0/10 (15 votes cast)
Añadir un objeto de la biblioteca al escenario con addChild(), 9.0 out of 10 based on 15 ratings

5 Responses to “Añadir un objeto de la biblioteca al escenario con addChild()”



  1. oscar Says:

    Genial este sitio, muchas gracias

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  2. Daniel Says:

    great!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  3. 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

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  4. galeonp Says:

    perfecto para una galeria sin tantos frames….

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  5. amado Says:

    y como elimino todos los carros???

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply