Ayami 0 Denunciar post Postado Maio 7, 2009 Gente, to tendo um problema, quero fazer uma galeria de fotos com vários títulos. Eu clico no título, e a galeria aparece de acordo com o título, são várias galerias num xml só. primeiro estou criando um movieclip com txtbox que vão conter o título das galerias para depois transformalos em botões. mas o numero de galerias não vai ser definido, tem que ser algo genérico, mudado apenas no xml. comecei assim, apenas criando caixas txt pra cada título e deixando elas uma do lado da outra mas parece que o flash não me deixa criar caixas de texto com nomes diferentes. tipo caixa (gerando a caixa1 a caixa2 etc..) O que acham q posso fazer? import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; //cria o objeto com o endereço(URL) a ser carregado var endereco:URLRequest = new URLRequest("test.xml") //cria o objeto que carregará var loader:URLLoader = new URLLoader(); //crio a Array que vai conter as galerias var Galer:Array = new Array(); //Função de carregamento completo function onComplete(event:Event) { var xml = new XML(event.target.data); var totGal = xml.galeria.length(); trace(totGal); for(var i:Number = 0; i < totGal; i++){ Galer[i] = xml.galeria[i]; var label_txt[i]:TextField; var GalDescri:String = xml.galeria[i].@id; trace(GalDescri); label_txt[i] = new TextField(); label_txt[i].defaultTextFormat = new TextFormat( 'Helvetica', 10, 0xFBFB98 ); mouseEnabled = false; label_txt[i].y =0; BotGal.addChild(label_txt); label_txt[i].text = GalDescri; var larg:Number = label_txt.textWidth label_txt[i].autoSize = label_txt.autoSize label_txt[i].x= 0 + larg*i } } //adiciona a função ao Listener loader.addEventListener(Event.COMPLETE, onComplete); //carrega o arquivo xml loader.load(endereco); Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Maio 8, 2009 essa forma esta errada mesmo: for(var i:Number = 0; i < totGal; i++){ var label_txt[i]:TextField; label_txt[i] = new TextField(); BotGal.addChild(label_txt[i]); label_txt[i].text = GalDescri; } tente assim: for(var i:Number = 0; i < totGal; i++){ var label_txt:TextField = new TextField(); label_txt.name = "label"+i BotGal.addChild(label_txt); label_txt.text = GalDescri; } caso você precise pegar essa caixa use : var caixa:TextField = BotGal.getChildByName("label1") []´s Compartilhar este post Link para o post Compartilhar em outros sites