Não funciona porque precisas da classe EventDispacther, que implementa addeventlistener, dispatchevent e outras coisas. Você pode ter acesso às funcionalidades dela através de herança ou de composição. Quando você faz sua classe extender Sprite, está usando a abordagem da herança, porque sprite está na linha de desecendência de eventdispatcher, assim como diveeeeersas outras classes.
Bem, para acessar via as tu simplesmente referencia o id do mxml. Simples assim. Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br > Date: Sun, 5 Oct 2008 15:17:46 -0700 > Subject: [flexdev] Re: Dúvida retornar XMLList > From: [EMAIL PROTECTED] > To: [email protected] > > > Eu fiz o extends Sprite pq no mxml nao aceitou eu fazer listen, > clsLista.addListenerEvent(Event.COMPLETE, exibeXml); > > As dicas estão sendo úteis! > > Agora se puder me esclarecer o seguinte: > > Eu tenho minha interface(buttons,labels) toda no MXML, ai na classe > AS3 nao sei como me comunicar pra manipular os labels, texts > etc...Como pego os ID's pra manipulá-los dentro da classe? Talvez meu > conceito nesta parte esteja errado ou nao. > > On 5 out, 10:12, gabriela perry <[EMAIL PROTECTED]> wrote: > > Bem, como ontem resolvi passear ao invés de ficar pendurada na frente do > > computador :0P vou ter que dar meu pitaco me atravessando na conversa... > > > > Bem, você vem do flash, né? Essa coisa de extender Sprite e fazer package > > sem nada é bem coisa de flasheiro (que nem o Mário fala, hehehe). > > Não está "errado" extender Sprite (afinal, isso funciona), mas não é o > > "melhor" a fazer. > > Pensa assim: porque vais extender Sprite se nem tens um visual (se não vês)? > > > > Enfim, o teu fluxo está equivocado. Pensa só: tu carrega o xml (tá tudo > > certo), te registra para ser notificado ("listen") do evento ("COMPLETE") e > > depois dispara ("dispatch") o evento. Normalmente, a gente usa um evento > > customizado, tipo > > > > dispatchEvent(new Event(MeusEvents.CARREGOU_XMLLIST)); > > ou > > dispatchEvent(new Event("CARREGOU_XMLLIST")); > > > > Porque, pelo menos, fica mais legível. > > > > Daí, no teu mxml, deves escutar o evento MeusEvents.CARREGOU_XMLLIST, com o > > addEventListener. > > E aí vem a pergunta: quem deve se registrar para ouvir este evento: o mxml > > ou a instância filha do Sprite? > > Depende: se teu evento bubbles (se propaga nos níveis superiores da > > aplicação), pode ser o mxml mesmo. Senão, é a tua classe. > > > > Porque, pensa só: como o teu mxml vai saber que o teu evento foi disparado > > sem isso??? > > > > Depois, quando estiveres mais familiarizado com esse fluxo, tem tópicos da > > arquitetura de disparo de eventos que seria bom estudares, porque, como o > > Mário falou, do ponto de vista da análise, essa não é a melhor solução. > > > > Mas esta é uma conversa que pode ficar para outra hora, certo? > > > > Gabriela Trindade Perry -http://www.gabriela.trindade.nom.br > > > > > > > > > Date: Sat, 4 Oct 2008 18:11:56 -0700 > > > Subject: [flexdev] Dúvida retornar XMLList > > > From: [EMAIL PROTECTED] > > > To: [email protected] > > > > > Olá, eu fiz uma classe básica para teste com intuito de retornar um > > > xmllist para a minha app: > > > > > package lista { > > > import flash.net.*; > > > import flash.display.*; > > > import flash.events.*; > > > > > public class Lista extends Sprite { > > > > > private var xml:XML; > > > private var xmlURLRequest:URLRequest; > > > private var xmlURLLoader:URLLoader; > > > private var xmlList:XMLList; > > > > > public function Lista(){ > > > > > xmlURLLoader = new URLLoader(); > > > xmlURLRequest = new URLRequest("url/lista.xml"); > > > xmlURLLoader.load(xmlURLRequest); > > > xmlURLLoader.addEventListener(Event.COMPLETE, xmlData); > > > > > function xmlData(event:Event):void > > > { > > > xml = new XML(event.target.data); > > > xmlList = xml.*; > > > Alert.show('lista: '+xmlList); //aqui exibe certo > > > dispatchEvent(new Event(Event.COMPLETE)); > > > } > > > } > > > } > > > //////// agora arquivo MXML /////// > > > public var clsLista:Lista=new Lista(); > > > > > public function exibeXml():void{ > > > Alert.show('lista origem classe: '+clsLista.xmlLista); > > > } > > > /////// > > > > > quando eu carrego a funçao exibeXml nada retorna. > > > > _________________________________________________________________ > > News, entertainment and everything you care about at Live.com. Get it > > now!http://www.live.com/getstarted.aspx > > _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
