Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcos.lavorato

Duplicar mcs com xml

Recommended Posts

Olá à todos. Meu código não está duplicando. Tive que faser algumas modificações no código, para poder suportar os childrens porém agora ele não duplica, só vem o 1º cadastro.

FLASH.

//Criado por Mozart Pettervar menuXML:XML = new XML();menuXML.ignoreWhite = true;menuXML.load("menu2.xml");//Declarando a função montaMenufunction montaMenu() {var menuBot:String = "modelos_mc2";//Colocamos aqui o valor do Linkage do nosso MovieClipvar posX:Number = 185;//Posição inicial de Xvar posY:Number = 120;//Posição inicial de Y, mais a frente entenderão o porque do -20//Criamos um for que criará um item no menu para cada valor do XMLfor (var i = 0; i<menuXML.childNodes.length; i++) { //Criamos 2 variáveis que conterão os valores dos atributos do xml (titulo e url) para que possamos acessar esses valores através dessas variáveis var titulo:String = (menuXML.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue); var titulo2:String = (menuXML.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue); var link:String = (menuXML.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue); var link2:String = (menuXML.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue); var especificacoes:String = (menuXML.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue); var dados:String = (menuXML.firstChild.childNodes[i].childNodes[4].firstChild.nodeValue); // // //O valor da variável link será o mesmo do atributo url do xml this.attachMovie(menuBot, titulo, i+10); //Anexamos o MovieClip "itemMenu" no _root do filme, o novo nome dele será o correspondente a variável titulo, que contém o valor do atributo titulo do xml. o i+10 é o valor de i somado a 10 que será o nível do MovieClip no palco var item:Object = this[titulo]; //Criamos um novo objeto. os [] tem a mesma função que o eval(), com a diferença que o eval não pode acessar valore do objeto e propriedades. Para saber mais F1 =) item.tituloItem.text = (titulo); //Definimos o valor do texto tituloItem do item item._x = posX; //Definimos a posição X de item sendo igual a da variável posX item._y = posY += (item._height)+10; //Definimos a posição Y de item sendo igual a da variável posY = posY +(altura de item)+1 item.link = (link); item.especificacoes = (especificacoes); item.dados = (dados); item.link2 = (link2); item.titulo2 = (titulo2); //Definimos o valor link ao objeto item //Ação onRelease do objeto loadMovie(item.link, (""+item.picture+"")); _root.main_content.container.modelos_mc.scroll_modelos.refreshPane(); item.onRelease = function() {  _root.main_content.conainer.p****.alphaTo(0, 2);  _root.main_content.conainer.p****.tween("_alpha", 0, 2);  _root.main_content.container.modelos_mc.p****._visible = false;  _root.main_content.container.modelos_mc.especificacoes_txt._visible = true;  _root.main_content.container.modelos_mc.scroll._visible = true;  _root.main_content.container.modelos_mc.teste_txt._visible = true;  _root.main_content.container.modelos_mc.titulo_txt._visible = true;  _root.main_content.container.modelos_mc.teste2_mc._visible = true;  _root.main_content.container.modelos_mc.picture._visible = true;  _root.main_content.container.modelos_mc.fucama_mc._visible = true;  _root.main_contant.container.modelos_mc.inicio_mc._visible = false;  _root.titulo_txt2.text = (this.titulo);  _root.main_content.container.modelos_mc.titulo_txt.htmlText = this.titulo2;  loadMovie(this.link2, (""+_root.main_content.container.modelos_mc.picture+""));  _root.main_content.container.modelos_mc.especificacoes_txt.htmlText = this.especificacoes;  _root.main_content.container.modelos_mc.dados_txt.htmlText = this.dados;  //getURL(this.link);  //trace(this.titulo2);  this.gotoAndStop(2);  //Agora a pouco definimos o valor link ao objeto item. Para que você entenda, fizemos isso pois não seria possível acessarmos o valor link de dentro do botão, nem mesmo com o _parent, por isso definimos um valor link ao objeto para que esse possa ser acessado }; //Ação onRollOver item.onRollOver = function() {  this.gotoAndStop(2); }; //Ação onRollOut item.onRollOut = function() {  this.gotoAndStop(1); };}}menuXML.onLoad = function(ok) {if (ok) { montaMenu(); _root.main_content.container.modelos_mc.scroll_modelos.refreshPane();} else { trace(orrra);}};
XML.

<?xml version="1.0"?><item><modelo> <titulo>3288A-90 VIDRO RETO</titulo> <url>imagens/3288A90PEQUENA.jpg</url> <url2>imagens/3288A90.jpg</url2> <especificacoes><![CDATA[• Largura 90 cm<br>• Capacidade de extração: 400 - 900 m3/h<br>• Voltagem 210/230V<br>• 2 Filtros metálicos laváveis em lava-louça<br>• 2 Lâmpadas halógenas  (10 - 20W)<br>• Motor potente de turbina dupla – 190W<br>• Alto rendimento de filtragem<br>• Funções: depurador e exaustor<br>• Filtro de carbono<br>• Aço inoxidável escovado 304 e vidro temperado]]></especificacoes> <dados>opa2</dados></modelo><modelo> <titulo>3288A-90 VIDRO RETO2</titulo> <url>imagens/3288A90PEQUENA.jpg</url> <url2>imagens/3288A90.jpg</url2> <especificacoes><![CDATA[• Largura 90 cm<br>• Capacidade de extração: 400 - 900 m3/h<br>• Voltagem 210/230V<br>• 2 Filtros metálicos laváveis em lava-louça<br>• 2 Lâmpadas halógenas  (10 - 20W)<br>• Motor potente de turbina dupla – 190W<br>• Alto rendimento de filtragem<br>• Funções: depurador e exaustor<br>• Filtro de carbono<br>• Aço inoxidável escovado 304 e vidro temperado]]></especificacoes> <dados>opa2</dados></modelo></item>

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.