..:: MX Studio Fóruns ::..: Ajuda numa animação de um loop infinito com XML - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Ajuda numa animação de um loop infinito com XML animação não entra no loop com arquivos vindo dum XML

#1 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 09 October 2007 - 06:49 PM

Como vai gente.. blzura.?

Gostaria de saber se teria como alguém me ajudar no seguinte.:

Eu tenho um arquivo de texto no flash e transformei em MC pra duplicar de acordo com a qtd de XML... eu já conseguiu duplicar e listar todos os NÓS do meu arquivo XML... e fiz uma animação em AS pra fazer um loop infinito... e ele vai exibindo da direita pra esquerda... e oq e preciso fazer é qdo terminar o ultimo item do meu XML.. ele repete.. tudo novamente.... já tentei de tudo aqui mas não vai... creio que o meu erro está na lógica do loop apenas... vou postar aqui as ações do movimento q está nesse MC.

onClipEvent (load) {
speed = 1/10;
distancia = 15;
posInicial = 627;
_global.largura = _root['mcTexto'+i]._x-_root['mcTexto'+i]._width;
}
onClipEvent (enterFrame) {
_x -= (distancia*speed);
if (_x>posInicial) {
_x = -_global.largura;
}
if (_x<-_global.largura) {
_x = posInicial;
}
}

Ai está gente... se alguém puder me ajudar.. o restante está pronto... mas de qqr forma eu colocarei as ações do xml exibido pelo flash na timeline

stop();
System.useCodepage = true;
//criando o objeto
var dados:XML = new XML();
//ignorar os espaços em branco
dados.ignoreWhite = true;
//Carregamos o xml
dados.load('http://www.j3p.com.br/infomoney/cotacao/cotacao.xml');
//Exibindo os dados carregados
dados.onLoad = function():Void {
//vamos pegar a quantidade de itens que há no xml
qtd = this.firstChild.childNodes.length;
//vamos criar um laço de repetição gerando mcs de acordo com a quantidade de itens do XML
for (i=0; i<qtd; i++) {
//agora duplicamos o MovieClip 'mcTexto' que é o nosso modelo
mcTexto.duplicateMovieClip('mcTexto'+i, _root.getNextHighestDepth());
//configuramos a largura do novo mc
_root['mcTexto'+i]._x += i*135;
//pegamos no xml o texto desse
_root['mcTexto'+i].t = this.firstChild.childNodes[i].attributes.cod+": "+this.firstChild.childNodes[i].attributes.ult;
//e colocamos o texto no campo de texto dinamico
_root['mcTexto'+i].texto.text = _root['mcTexto'+i].t;
}
//Removemos o MovieClip 'mcTexto' que funcionou como molde
mcTexto.unloadMovie();
};

Fico no aguardo.
[]´s.
Souza.
0

#2 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 11 October 2007 - 12:23 PM

Fala galera...tudo bem.?

Ninguém pode me ajudar com essa situação.?

Se puderem me ajudar eu agradeço.
Fico no aguardo.
[]´s.
Souza.
0

#3 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 11 October 2007 - 03:37 PM

Você tem que criar uma condição que verificasse se a posição do MovieClip já ultrapassou o palco. Se ultrapassou, move ele para o outro lado do palco.

onClipEvent (load) {
speed = 1/10;
distancia = 15;
posInicial = 627;
_global.largura = _root['mcTexto'+i]._x-_root['mcTexto'+i]._width;
}
onClipEvent (enterFrame) {
_x -= (distancia*speed);
if (_x>posInicial) {
_x = -_global.largura;
}
if (_x>= Stage.width) {
_x = _x-posInicial;
}
}
}

Veja se com isso ajuda.

[]s
0

#4 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 11 October 2007 - 05:30 PM

Não funcionou não natan.

thumbdown.gif

Fico no aguardo
[]´s
Souza
0

#5 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 11 October 2007 - 11:42 PM

Veja se assim vai:

onClipEvent (load) {
speed = 1/10;
distancia = 15;
posInicial = 627;
_global.largura = _root['mcTexto'+i]._x-_root['mcTexto'+i]._width;
}
onClipEvent (enterFrame) {
_x -= (distancia*speed);
if (_x>posInicial) {
_x = -_global.largura;
}
if (_x<(0-_width)) {
_x = posInicial;
}
}

[]s
0

#6 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 12 October 2007 - 12:37 PM

Natan.. obrigado por responder mas não funcionou.. hehehe.. ta fogo isso.. ele fica duplicando no loop logo qdo começa.. ai ele executa todos os NÓS XML e qdo acaba o último NÓ.. ele não entra no loop e fica duplicando s/ parar.. vou postar o fla aqui pra vc baixar ai.. talvez fique mais fácil de entender mexendo no arquivo.

www.agenciaalfa.com.br/cotacao_teste.zip

Versão do flash q estou usando é a 8

Fico no aguardo.
[]´s.
Souza.
0

#7 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 13 October 2007 - 12:27 PM

Em seu MovieClip, deixe somente essas ações:

onClipEvent (load) {
speed = 1/10;
// pra vc testar ai muda esse valor do speed pra nao esperar tanto.. ex: 5/10
distancia = 15;
posInicial = 627;
_global.largura = _root['mcTexto'+i]._x-_root['mcTexto'+i]._width;
}

No frame de seu arquivo, utilize essas ações:

stop();
System.useCodepage = true;
//criando o objeto
var dados:XML = new XML();
//ignorar os espaços em branco
dados.ignoreWhite = true;
//Carregamos o xml
dados.load('http://www.j3p.com.br/infomoney/cotacao/cotacao.xml');
//Exibindo os dados carregados
speed = 1/10;
// pra vc testar ai muda esse valor do speed pra nao esperar tanto.. ex: 5/10
distancia = 15;
dados.onLoad = function():Void {
//vamos pegar a quantidade de itens que há no xml
qtd = this.firstChild.childNodes.length;
//vamos criar um laço de repetição gerando mcs de acordo com a quantidade de itens do XML
for (i=0; i<qtd; i++) {
//agora duplicamos o MovieClip 'mcTexto' que é o nosso modelo
mcTexto.duplicateMovieClip('mcTexto'+i,_root.getNextHighestDepth());
//configuramos a largura do novo mc
_root['mcTexto'+i]._x += i*135;
//pegamos no xml o texto desse
_root['mcTexto'+i].t = this.firstChild.childNodes[i].attributes.cod+": "+this.firstChild.childNodes[i].attributes.ult;
//e colocamos o texto no campo de texto dinamico
_root['mcTexto'+i].texto.text = _root['mcTexto'+i].t;
_root['mcTexto'+i].onEnterFrame = function() {
this._x -= (distancia*speed);
if (this._x<(0-this._width)) {
this._x = (qtd-1)*135;
}
};
}
//Removemos o MovieClip 'mcTexto' que funcionou como molde
mcTexto.unloadMovie();
};

[]s
0

#8 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 14 October 2007 - 01:56 PM

Natan,

Perfeito meu amigo... não sei como lhe agradecer viu... sabia que aqui alguém de boa fé me ajudaria.

Eu ví seus tutoriais com integração do flash + xml.... achei show de bola.....eu to precisando fazer uma galeria de imagens com 3 colunas... só que não estou conseguindo... eu sei q na lógica seria como essa de duplicar os MCs... mas como eu poderia fazer para o flash ler os thumbs de todos os nós XML .. sendo que ele chegaria na 3ª linha e já mudasse o 4º nó pra coluna debaixo e assim por diante... eles seriam botões e no clique exibiria as fotos maiores ao lado... muito tempo que estou querendo desenvolver... mas preciso de mais orientações...

Fico no aguardo.
Grande abraço.
Souza.
0

#9 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 15 October 2007 - 07:36 PM

Não tem muito segredo, para criar isso, você vai precisar criar algumas variáveis e dar uma modificada na linha que posiciona os itens no palco.

Nesse tutorial, mostro como fazer o que você deseja, é só adaptar ao seu código, você vai ver que não precisa mudar muitas coisas.

http://www.mxstudio.com.br/views.tutorial....d=3&aid=993

[]s
0

#10 User is offline   souza_sp 

  • Group: Membros
  • Posts: 128
  • Joined: 09-October 07

Posted 15 October 2007 - 10:22 PM

Natan,

Não consigo ver o resultado desse tuto que vc colocou... nem no IE e nem no FireFox.... fica em branco.

[]´s.
Souza.
0

#11 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 16 October 2007 - 10:24 PM

O problema é que o meu exemplo não abre em algumas máquinas por causa do endereço em que o arquivo está. Mas se você ler as ações que usei não vai precisar fazer o tutorial inteiro, somente pegar a lógica e modificar seu arquivo.

[]s
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)