Jump to content


Photo

O Que Está Errado Neste Arquivo?


  • Faça o login para participar
1 reply to this topic

#1 Flávio Izo

Flávio Izo

    Ativo

  • Usuários
  • 325 posts
  • Sexo:Não informado
  • Interesses:Informática em geral e esportes....

Posted 29/09/2008, 21:33

Galera... o onRelease não funciona de jeito nenhum, a não ser que eu coloque o link direto, mas quando o movie clip é dinâmico dá pau.

Puxo as imagens via xml e quero colocar links nelas.

Tenho um movie clip chamado conteudo e dentro dele coloque no primeiro frame o seguinte:

largura = 0;
// posicao inicial do movie clip
_root.conteudo._x=10;
_root.conteudo._y=0;
listaCaminho = new Array();
listaEndereco = new Array();
// Faz aceitar acentos
System.useCodepage = true;
leitor = new XML();
leitor.ignoreWhite = true;
leitor.load("cursos.xml");
leitor.onLoad = function(ok) {
 if (ok) {
  // recebendo o tamanho do xml
  tam = leitor.firstChild.childNodes.length;
  for (x=0; x<tam; x++) {
   // recebendo valores do xml
   novoCaminho = leitor.firstChild.childNodes[x].childNodes[0].firstChild.nodeValue;
   novoEndereco = leitor.firstChild.childNodes[x].childNodes[1].firstChild.nodeValue;
   // criando o movie clip
   _root.conteudo.createEmptyMovieClip("nCurso"+x,getNextHighestDepth());
   //recebendo o movieclip
			novoMc = _root.conteudo["nCurso"+x];
   // abrindo a imagem
   novoMc.loadMovie(novoCaminho);
   // mudando o posicionamento
   novoMc._y = largura;
   largura = largura + 215;
		  novoMc._x = 0;
   trace(novoMc);
   // CRIA FUNÇÃO PARA QUANDO O USUÁRIO CLICAR EM CIMA.
   novoMc.onRelease = function() {
	trace("funfou");
	getURL(novoEndereco, "_blank"); 
   };
  }
  
 }			
};

No xml tenho:

<inicio>
 <conteudo>
  <caminho>images/cursos/curso01.jpg</caminho>
  <endereco>cursos.php?codigo=1</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso02.jpg</caminho>
  <endereco>cursos.php?codigo=2</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso03.jpg</caminho>
  <endereco>cursos.php?codigo=3</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso04.jpg</caminho>
  <endereco>cursos.php?codigo=4</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso01.jpg</caminho>
  <endereco>cursos.php?codigo=1</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso02.jpg</caminho>
  <endereco>cursos.php?codigo=2</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso03.jpg</caminho>
  <endereco>cursos.php?codigo=3</endereco>
 </conteudo>
 <conteudo>
  <caminho>images/cursos/curso04.jpg</caminho>
  <endereco>cursos.php?codigo=4</endereco>
 </conteudo>
</inicio>

Attached Files


Edição feita por: Pedropauloalmeida, 03/10/2008, 09:20.

It's better to have true enemies than to have falses friends !!!

#2 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 03/10/2008, 09:25

Isso não funciona assim.

Onde você está guardando o valor da variável de cada clip para ser clicado?
No looping 'for', tente assim:

for (x=0; x<tam; x++) {
   // recebendo valores do xml
   novoCaminho = leitor.firstChild.childNodes[x].childNodes[0].firstChild.nodeValue;
   novoEndereco = leitor.firstChild.childNodes[x].childNodes[1].firstChild.nodeValue;
   // criando o movie clip
   _root.conteudo.createEmptyMovieClip("nCurso"+x,getNextHighestDepth());
   //recebendo o movieclip
			novoMc = _root.conteudo["nCurso"+x];
   // abrindo a imagem
   novoMc.loadMovie(novoCaminho);
   // mudando o posicionamento
   novoMc._y = largura;
   largura = largura + 215;
		  novoMc._x = 0;
   trace(novoMc);
   novoMc.endereco = novoEndereco;
   // CRIA FUNÇÃO PARA QUANDO O USUÁRIO CLICAR EM CIMA.
   novoMc.onRelease = function() {
	   trace("funfou");
	   getURL(this.endereco, "_blank"); 
   };
  }

Para ser bem sincero isso é meio "gambiarra". Não digo gambiarra pois a classe MovieClip estende a classe Object que por sua vez é dinâmica. O que vc está fazendo é criar uma propriedade dinâmica em novoMc e armazenando nela o valor 'novoEndereco'.
O certo seria fazer uma classe que estendesse MovieClip e nela se declarar a propriedade 'endereco'.

Abraços.

pp




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq