Hola, No especificas en que estas haciendo, este código es para cs3 y lo puedes implementar en flex aunque en flex existen otras herramientas que facilitan esto, yo tengo esto para cs3, pero en un proyecto antiguo de flex lo aplique pero por tiempo no lo he mejorado. espero te sirva y recuerda que no es solo para banderas similar es para un componente en general
Saludos desde Quito - Ecuador.
Código :
//carga bandera
var valX:Number = 0;//10;
var valY:Number = 0;//45;
var arrayBandera:Array = strFlag.split(',');
//esto es para borrar las banderas que se quedaban agregadas ya que tengo esto de manera dinamica
var target:DisplayObject;
for (var k:Number = 0; k<10; k++) {
trace("ControlProfile.Bandera :"+cvBandera.getChildByName("Bandera"+k));
if(cvBandera.getChildByName("Bandera"+k)!=null){
cvBandera.removeChild(cvBandera.getChildByName("Bandera"+k));
}
}
if (arrayBandera.length>0) {
for (var i:Number = 0; i<arrayBandera.length; i++) {
var movBandera:Bandera = new Bandera(); // es un componete te lo especifico mas abajo
movBandera.name = "Bandera"+i;
movBandera.x = valX;
movBandera.y = valY;
valX += movBandera.width + 2;
//addChild(movBandera); //Esto es para agregar directamente
cvBandera.addChild(movBandera);//Esto es poruqe tengo un compomente que se expande dinamicamente
movBandera.ImgBandera.source = arrayBandera[i];
movBandera.ImgBandera.autoLoad = true;
movBandera.ImgBandera.scaleContent = true;
}
<mx:Canvas id="cvBandera" width="197" height="23" x="10" y="45"/>
//componete de Bandera
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="16" height="11">
<mx:Image id="ImgBandera" name="ImgBandera" horizontalCenter="0" verticalCenter="0" scaleContent="true" autoLoad="true" width="16" height="11"/>
</mx:Canvas>