Ir para conteúdo

POWERED BY:

Arquivado

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

Lu737

xml dentro do flash

Recommended Posts

olá, estou tendo dificuldades com um flash que carrega um xml. qndo o movie clip que vai carregar uma foto ou texto está no timeline principal, funciona perfeitamente (como detall_ojo_rgb.gif que carrega dentro do mc foto em _root.foto. porém a imagem imagen1.jpg que está dentro de fotogal1 não carrega, pus o caminho do mc: _root.galeriabts.galeria1.galeria1bt.fotogal1 mas não carrega. alguma luz? muito obrigada luciana

 

a parte de dados dentro do flash tem o seguinte código:

 

// CARGA XML

_global.cargaDatosXML = function() {

// MUESTRA CARGA

_root.estado.text = "Cargando datos...";

xmlDatos.ignoreWhite = true;

xmlDatos.onLoad = setDataXML;

xmlDatos.load(gblServidor+"data.xml");

};

 

// CARGA DATOS

_global.setDataXML = function(success) {

if (success) {

// DATOS

for (x=0; x<this.firstChild.childNodes.length; x++) {

arrDatos[x] = new Array(this.firstChild.childNodes[x].childNodes.length);

for (k=0; k<this.firstChild.childNodes[x].childNodes.length; k++) {

arrDatos[x][k] = this.firstChild.childNodes[x].childNodes[k].firstChild.nodeValue.cleanBR();

}

}

// MUESTRA TEXTO

_root.titulo1.text = arrDatos[0][0];

_root.titulo1._visible = false;

_root.titulo2.text = arrDatos[0][1];

_root.titulo3.text = arrDatos[0][2];

_root.titulo3._visible = false;

_root.titservint.text = arrDatos[4][0];

_root.textoservint.text = arrDatos[0][8];

// CARGA FOTO

var foto_mcl = new MovieClipLoader();

foto_mcl.addListener(foto_listener);

foto_mcl.loadClip(gblServidor+gblImagenDir+"detall_ojo_rgb.gif",_root.foto);

foto_mcl.loadClip(gblServidor+gblImagenDir+"imagen1.jpg","_root.galeriabts.galeria1.galeria1bt.fotogal1");

// ESCONDE INFORMACION DE ESTADO

_root.estado.text = "";

}

};

 

 

 

 

 

e o código do xml é esse:

<?xml version="1.0" encoding="ISO-8859-1"?>

<data>

<home>

<titulo1><![CDATA[EMPRESA]]></titulo1>

<titulo2><![CDATA[GALERIA]]></titulo2>

<titulo3><![CDATA[MISCEL·LÀNIA]]></titulo3>

<googlemaps><![CDATA[http://maps.google.es/...]]></googlemaps>

<email><![CDATA[info@icreadisseny.com]]></email>

<fotogal1>imagen1.jpg </fotogal1>

<opciongal1>0</opciongall>

<imagengal1>1</imagenl>

<fotogal2>imagen2.gif</fotogal2>

<opciongal2>1</opciongal2>

<imagengal2>3</imagen2>

<fotogal3>imagen3.gif</fotogal3>

<opciongal3>0</opciongal3>

<imagengal3>0</imagen3>

<fotogal4>imagen4.gif</fotogal4>

<opciongal4>4</opciongal4>

<imagengal4>2</imagen4>

</home>

<empresa1>

<titservint>SERVEIS INTEGRALS</titservint>

<textoservint><![CDATA2[

• Creació de Logotip

• Imatge Corporativa

• Papereria comercial

• Catàlegs, monogràfics, memòries,…

• Llibres, revistes,…

• Tríptics, fullets, car telleria

• Anuncis en premsa general

i especialitzada

• Campanyes de publicitat

• Màrqueting promocional

• Fotografia (digital o convencional)

• Ser veis de impremta

]]></textoservint>

<titareamulti>AREA MULTIMEDIA</titareamulti>

<textoareamulti><![CDATA2[

• Pàgines web

• CD-ROM

• Eines a mida per a l’actualització

de continguts

• Comerç electrònic

• Banners i publicitat interactiva

]]></textoareamulti>

<textoempresa1><![CDATA[No és fàcil desenvolupar processos de generació d’idees,

tenint en compte el bombardeig avui en dia existent.

Comunicar a par tir de llenguatges com el color,

la fotografia, la tipografia, són variables per transmetre el missatge

i assolir els objectius pels quals s’ha estat contractat.]]></textoempresa1>

<imagencentro>imagen.gif</imagencentro>

<textoempresa2><![CDATA[i és per això que creiem fermament que per obtenir l’èxit,

clients i dissenyadors hem de treballar plegats

i amb la màxima sintonia.]]></textoempresa2>

</empresa1>

<empresa2>

<imagenizq>imagen.gif</imagenizq>

<imagen1>imagen1.gif</imagen1>

<imagen2>imagen2.gif</imagen2>

<imagen3>imagen3.gif</imagen3>

<imagen4>imagen4.gif</imagen4>

<texto1><![CDATA[NO ÉS FÀCIL!]]></texto1>

<texto2><![CDATA[Però ens agradaria contar amb vosaltres!]]></texto2>

</empresa2>

<galeria>

<opcion1>

<titopcion>IMATGE CORPORATIVA</titopcion>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

</opcion1>

<opcion2>

<titopcion>LOGOTIPS</titopcion>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

</opcion2>

<opcion3>

<titopcion3>CATALEGS</titopcion3>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

</opcion3>

<opcion4>

<titopcion>FULLETONS</titopcion>

</opcion4>

<opcion5>

<titopcion>IMATGE DE PRODUCTE</titopcion>

</opcion5>

<opcion6>

<titopcion>PUBLICITAT</titopcion>

</opcion6>

<opcion7>

<titopcion>PAGINES WEB</titopcion>

</opcion7>

<opcion8>

<titopcion>FOTOGRAFIA</titopcion>

</opcion8>

<opcion9>

<titopcion>ALTRES</titopcion>

</opcion9>

</galeria>

<miscelania>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

<imagen>

<imagen>image.gif</imagen>

<texto><![CDATA[Texto informativo de la imagen]]></texto>

</imagen>

</miscelania>

</menu>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta colocando entre aspas o nome dele, tente tira-las

 

foto_mcl.loadClip(gblServidor+gblImagenDir+"imagen1.jpg",_root.galeriabts.galeria1.galeria1bt.fotogal1);

 

verifique tb se o nome esta correto

 

 

[]´s http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pergunta, porque tá trabalhando com _global?

trabalha com var e usa os endereçamentos de movies normal, num sei qual vantagem trabalhar em _global...

além disso procura traduzir o codigo, mudando os nomes do movie pro nosso potuguês, assim fica pessimo pra ler, e dificil pra você mesmA entender...

 

eu costumo fazer assim:

 

var meuXML:XML = new XML();

meuXML.ignoreWhite=true;

meuXML.load("data.xml");

 

function carregaXML(){

//--Aqui pra saber quantos nós tem dentro do Primeiro

trace("meuXML.firstChild.childNodes.lenght");

 

//----Vai usando trace pra ver que conteudo está sendo chamado...

 

//----pra carregar dentro de um movie clip

 

//você pode usar um laço for pra acrecer uma variavel e percorrer o XML carregando as imagens dentro de movies...

 

movieclip_mc.loadMovie("meuXML.firsChild.childNodes.childNodes.childNodes")

 

//se você quiser carregar uma imagem a partir de um click em determinada imagem ou botão também listada de um XML, você precisa recuperar o valor de i dentro do for e passá-lo como identificação no onRelease...

 

//por exemplo:

for (i=0;i<meuXML.firstChild.childNodes.lenght;i++){

 

this.attachMovie("nome_library","nome_library"+i,i+10)

 

myMc=this["nome_library"+i];

//ai cê vai duplicando e

myMc._y=i*100;

//--------aqui pega o I respectivo;

myMc.ident=i;

 

myMc.onRelease=function(){

//--------Aqui cê usa esse numero de I respectivo a esse Movie pra chamar uma imagem ou texto que faça parte do mesmo conteudo...

 

movieclip_carrega_o_que_quiser.loadMovie(meuXML.firstChild.childNodes("this.ident").childNodes.childNodes;

//--------se esse movie estiver em outro ambiente endereça ele...

 

//--- se entiver dentro de um movie no mesmo ambiente

nome_do_movie.nome_do_movie

//---se estiver num ambiente antes...

 

_parent.nome_do_movie

 

//ou se estiver dentro de um movie num nivel abaixo

 

_parent.nome_do_movie.nome_do_movie

 

//se estiver na raiz

 

//cuidado com o _root, se estiver trabalhando com LoadMovie o root é o do filme principal sempre...

 

_root.nome_do_movie...

 

}

 

}

 

}

meuXML.onLoad=function(){

carregaXML();

}

 

 

 

Esse é mais ou menos o jeito que eu uso, pra trabalhar com XML, pode ser que tenha erros no codigo mas talvês sirva pra dar uma Luz...

 

Outra coisa veja se o seu movie está instanciado caso ele não esteja vindo por attachMovie...

 

Abraços

 

Marcel

 

Ps: Num sei se ajudou ou atrapalhou mais... rsrs...

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_w00t.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi, tentei sem as aspas tb e nada, na real antes já estava sem. é q eu fiz um monte de variação pra ver se dava certo e essa era uma. porém mesmo sem as aspas não dá certo.

muito obrigada pelo seu código.

mas o q acontece é q o cliente q mandou o xml. e qndo peguei eu disse q não entendo de xml. ele me mandou um exemplo pra seguir, só q um exemplo muito básico, com poucos elementos e tudo na timeline principal. e no site será muito mais complexo. então, tennho q seguir o código dele, em catalão, q será o idioma do site.

agradeço qualquer outra sugestão

luciana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um trace nisso pra ver o que vem, mas faz isso dentro da function onde ele carrega, pra ver se as variaveis gblImagemDir ou a outra está vindo correta...

 

trace (gblServidor+gblImagenDir+"imagen1.jpg");

 

Pelo que eu entendi é uma pasta do servidor certo?

 

Se é isso talvêz esteja faltando uma barra ou coisa do tipo, esse esquema de Array e Movie Listener é um tanto complexo eu costumo usar o proprio objeto XML() do flash e trabalhar com loadMovie pois acho mais pratico, então não sei como funciona esse target que está usando no loadClip, num sei não mais acho que isso é do AS1 ainda.

 

Abraços

 

Marcel

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

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.