Follow me @Tmeister

Obteniendo los hijos de un DisplayObject [AS3]

ESCRITO POR Tmeister EN April - 1 - 2008

Está en una clase simple pero muy útil, al menos para mí, que recorre todos los hijos contenidos en un DisplayObject, la clase cuenta con 2 funciones:

getAllChilds

Regresa todos los hijos contenidos en el “target”

getChildsByType

Regresa solo los hijos que sean de un tipo específico, por ejemplo solo MovieClips, o solo Botones.

DisplayObjectUtils

package net.tmeister.utils
{
	/**
	 * @author Enrique Chavez aka Tmeister
	 */
	import flash.display.DisplayObject;
	public class DisplayObjectUtils
	{
		/**
		 *
		 * @param	target
		 * @return Array
		 */
		public static function getAllChilds(target:*):Array
		{
			var listTmp:Array = []
			for (var a = 0; a < target.numChildren; a++ )
			{
				listTmp.push (target.getChildAt(a) )
			}
			return listTmp
		}
		/**
		 *
		 * @param	target
		 * @param	type
		 * @return
		 */
		public static function getChildsByType(target:*, type:*):Array
		{
			var listTmp:Array = []
			for (var a = 0; a < target.numChildren; a++ )
			{
				if (target.getChildAt(a) is type)
				{
					listTmp.push (target.getChildAt(a) )
				}
			}
			return listTmp
		}
	}
}

Su uso es el siguiente:

Primero creamos unos Movieclips y unos botones para tener algo que buscar.

import net.tmeister.utils.DisplayObjectUtils;
import fl.controls.Button

createMovieClips()
createButtons()
getChilds()

function createButtons()
{
	for(var a:Number = 0; a<2; a++)
	{
		var tmp:Button = new Button();
		tmp.x = Math.random()*400
		tmp.y = Math.random()*400
		tmp.label = "buton"+a
		addChild(tmp)
	}
}
function createMovieClips()
{
	for(var a:Number = 0; a<5; a++)
	{
		var tmp:MovieClip = new MovieClip();
		tmp.graphics.beginFill(0x2a2a2a, .5)
		tmp.graphics.drawRect(Math.random()*500, Math.random()*300, Math.random()*100, Math.random()*100);
		tmp.graphics.endFill();
		tmp.name = "mc"+a;
		addChild(tmp)
	}
}
function getChilds()
{
	trace("All Childs: " + DisplayObjectUtils.getAllChilds(this) )
	trace("=====================================================================================")
	trace("Movieclips:  " + DisplayObjectUtils.getChildsByType(this, MovieClip))
	trace("=====================================================================================")
	trace("Buttons:  " + DisplayObjectUtils.getChildsByType(this, Button))

}

VN:F [1.4.6_730]
Rating: 0.0/10 (0 votes cast)

Popularity: 3% [?]

 
Compartir

  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Faves
  • MySpace
  • Technorati
  • TwitThis
  • LinkedIn
  • Ping.fm
  • FriendFeed
  • Meneame
  • Twitter

Post Similares

2 Responses to “Obteniendo los hijos de un DisplayObject [AS3]”

  1. Cep says:

    Muy buena la función getChildsByType, aunque la otra no le encuentro mucha utilidad, ya que es lo mismo hacer target.getChildAt(N); que a list[N], solo que repetimos datos y ocupamos mas recursos xD :P .

    Saludos MR.!!

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  2. Luis Kano says:

    Oye Me gusta este theme, donde lo puedo conseguir?
    Tienes mi correo para decirme o también me puedes decir por medio de tu blog o el mío.
    saludos.

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply

Acerca de mi
Enrique Chavez

Enrique Chávez también es conocido como @Tmeister es un desarrollador, emprendedor, poeta y loco.

Geek autodeclarado y apasionado de todo lo que tiene que ver con tecnología y desarrollo.

Cuenta con una experiencia de más de 7 años en el ramo del desarrollo, creando, sobre todo, aplicaciones web en la empresa Sapotek.

A finales del 2008 crea, junto con 3 colegas, la consultoría llamada AureaCode, enfocándose a brindar servicios de desarrollo web en todas sus variantes.

Si necesitas algún tipo de información o consulta por favor no dude en escribir.

View Enrique Chávez's profile on LinkedIn

Carlos Enrique Chavez Garcia's VisualCV

RSS Feed

Links Patrocinados
Comunidad
Ya eres usuario?
Login
Ingresa usando tu cuenta de Facebook
Ultimas visitas
Powered by Sociable!
    Mini Posts
    Google indexa contenido externo de SWFs

    Google ha hecho el anuncion de que ahora puede indexar informacion externa de los SWF, con informacion externa se refieren a textos que se cargan al vuelo mediante archivos txt, xml, html.

    Toda la informacion al respecto la pueden encontrar en el anuncio oficial

    2009-06-19 13:04:14
    Cambiando de nuevo la cara

    De nuevo  cambiando la cara del blog, agregue unas cuantas ondas sociales, Login con Facebook, updates de Twitter, un Feedback más cómodo, así nos olvidamos de la vieja forma de contacto.

    Este será, de ahora en adelante, mi sitio principal Tmeister.net será solo una redirección a este dominio, aunque eso lo hare en unos días más.

    Enjoy. 

    2009-04-11 17:54:31
    Torneos de Poker 2do Lugar

    Segundo lugar en el torneo de US$1,000 garantizados, Balance +US$200, perdidas del dia -US$50, Ganancias totales el dia de hoy +US150 8)

    2008-11-23 23:32:30
    Video destacado