O XML é uma linguagem que não possui tags predefinidas e com ele podemos criar documentos que tenham dados organizados de forma hierárquica. Neste post vou ensinar como criar um exemplo básico de AS3+XML e mostrar como capturar o valor de um atributo e o conteúdo de um nó.
Para criar o exemplo, serão necessários os seguintes itens e que deverão estar numa mesma pasta:
• um documento de imagem JPG chamado imagem.jpg;
• um documento XML em branco chamado arquivo.xml e que tenha sido salvo com codificação UTF-8;
• um documento FLA (pode ter qualquer nome) com um campo de texto dinâmico de nome de instancia campodetexto. Esse campo de texto deve ter uma fonte incorporada (embed), de preferência com os caracteres: Maiúsculas, Minúsculas, Numerais, Pontuação, Latin I.
Abra o arquivo.xml e coloque:
1 2 3 4 5 | <?xml version="1.0" encoding="UTF-8"?> <xml> <item img="imagem.jpg">Texto texto texto... </item> <item>#$ãó123</item> </xml> |
No frame da timeline onde está o campo de texto dinâmico, coloque:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var xml:XML var urlloader:URLLoader = new URLLoader() urlloader.load(new URLRequest("arquivo.xml")) urlloader.addEventListener(Event.COMPLETE, urlloaderComplete) function urlloaderComplete(e:Event){ xml = XML(e.currentTarget.data) loader.load(new URLRequest(xml.child(0).@img)) campodetexto.text = xml.child(0).toString() + xml.child(1).toString() } var loader:Loader = new Loader() loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete) function loaderComplete(e:Event){ addChildAt(loader,0) } |
Ao publicar o FLA, a imagem carregada é a mesma indicada no atributo img do primeiro nó do XML (lembrando que a numeração dos nós começa a partir do zero), o qual indicamos com xml.child(0).@img. O que aparece no campo de texto é o conteúdo do primeiro nó somado com o segundo, o qual indicamos com campodetexto.text = xml.child(0).toString() + xml.child(1).toString().
Pronto! Esse é um exemplo bem simples de como carregar imagens e/ou texto através de um arquivo XML.
Cada vez que você abrir o SWF, ele vai ler o XML. Isso quer dizer que se você fizer alguma alteração na imagem ou no texto do primeiro ou segundo nó do XML, as mudanças serão reconhecidas sem a necesidade de republicar o SWF.
O ideal é programar o ActionScript com um código que reconheça o número de nós existentes e assim poder ir variando o conteúdo de forma mais dinâmica. Provavelmente, logo mais criarei um exemplo disso em um post de um nível mais avançado sobre XML.
Para mais detalhes sobre a classe XML do AS3, clique aqui.

em 11 de fevereiro de 2011
Boa Igor.
Ensinar do básico ao avançado sempre dá uma ajudinha pra galera que tá começando, muito bom.
Não deixa de continuar a série e ensinar a fazer buscas, usar as classes XML e XMLDocument.
Keep going! :)
em 11 de fevereiro de 2011
Valeuu, Eder.
Espero ter tempo pra poder continuar a serie o mais breve possivel!
:D
em 11 de fevereiro de 2011
véri gude!