..:: MX Studio Fóruns ::..: Bug em site de Flash, como resolver ?? - ..:: 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

Bug em site de Flash, como resolver ?? Preciso de ajuda !! Bug com loop em LoadMovie

#1 User is offline   Torwen 

  • Group: Membros
  • Posts: 10
  • Joined: 10-December 07

Posted 01 December 2009 - 11:42 AM

Olá amigos !!

Como eu sou designer, e nao desenvolvedor, às vezes eu passo uns perrengues com AS. Estou com um site no ar (www.trixxdesign.com.br) que está apresentando um bug. O bug nao acontece sempre, e pode ser "provocado". Mas mesmo nao acontecendo toda hora, o bug existe e o cliente ja esbarrou com ele mais de uma vez e nao ficou satisfeito.

Para o bug acontecer, tem que ir na seção 'produtos' e em seguida clicar nos links que aparecem (jogo trix, quebra cabeça e tabuleiros). Se clicar rapidamente entre eles, o bug acontece com frequência, e o movieclip que faz load em baixo fica dando um loop muito louco. Se clicar com calma entre eles, o bug nao ocorre.

A estrutura do FLA é bem simples. São botões com a action de LoadMovie num TARGET neles. Já fiz mil sites com essas actions e nunca vi esse bug. Já olhei mil vezes a estrutura do meu site e tb nao achei nada que pudesse estar causando isso.

Um amigo meu (programador) sugeriu entao que eu usasse a função setinterval, e desabilitasse o click nos botoes por 1 ou 2 segundos. Vou copiar o que ele me disse no msn aqui em baixo:

mlke, é o seguinte
bugs sempre ocorrem, e isso é uma merda
mas a gente tem como dobrar esse bug com alguns códigos
exemplo
ele buga quando vc clica em 2 links rápido
então temos que desabilitar o clique por 1 ou 2 segundos, por exemplo
então tem uma função chamada setInterval(), que vai chamar uma função após o tempo que vc determinar (em milisegundos)
então 1000 = 1 segundo
e existe a variável do tipo Boolean, que recebe true ou false
então vc vai verificar com um IF se o cara tem permissão pra clicar
tipo
1 - seta permissão = false inicialmente
2 - seta que permissão vai ser true em 2 segundos com a função setInterval()
3 - ao clicar no menu verificar se tem permissão
4 - se sim, carrega o loadMovie, senão não faz nada
sacou?!
assim o cara não vai poder clicar nos 2 rapidamente.. somente após o tempo que vc determinou o setIntervaçl
setInterval()

O problema é que eu nao sou capaz de escrever esses codigos sozinho e ele está sempre muito ocupado para me ajudar. Alguem poderia me ajudar a formular as actions por favor ?? Sou meio leigo na programação, entoa eu precisaria saber onde inserir cada action e precisaria delas prontas no formato certo. Q action eu boto no próprio botão ?? Que action eu boto na timeline ?? Por aí vai...

Desde já agradeço o tempo de quem parou pra ler meu tópico !!

Abs,
Vitor.
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 01 December 2009 - 01:37 PM

blz?

Fiz teste como você falou e o erro aconteceu.
Bug é assim mesmo, pra "debbugar". thumbsup.gif
Mas leva tempo e atenção pra fazer isso, pode depender de vários fatores e cada projeto pode ser diferente a maneira como foi organizado seu conteúdo e código.

Um dos procedimentos que pode ajudar começar de onde vem o erro, ou pelo menos saber por onde começar:

- Qual versão de Flash você usa, MX, 8, CS3/CS4?
- Qual versão de Flash Player você está publicando todos seu SWFs finais?
- Que versão está todo seu código, ActionScript 1.0, ActionScript 2.0?
- Como você insere esse código de botões e MovieClips, insere direto nos botões/MovieClips? ou dando um nome instância pra cada um e usando a timeline pra inserir códigos?
- Quais navegadores(versões) e plataformas você testou? usou FireFox, IE, Opera, Chrome, Safari? os navegadores estão atualizados com Flash Players adequado? Que plataformas: windows, mac, linux?

...Essas informações podem ser úteis pra começar.

- Usar função trace() durante a programação pra conseguir achar o caminho/rastro que seu código percorre durante fase de testes. Isso ajuda descobrir erros/bugs e muito útil pra saber como seu código vai agir quando começa programar. Por exemplo, mostra uma mensagem de aviso no painel de output(saída) pra você saber quando foi clicado em um determinado botão/Movieclip.



Pelo que você disse, você está usando Loadmovie pra carregar arquivo externos em um algo. Certo?
Teoricamente se o loadMovie carrega no mesmo alvo(movie clip), automaticamente ele descarrega o conteúdo atual (caso não tiver carregado antes) e carrega outro arquivo no mesmo alvo. Por ser uma ação rápida (clique em 1 botão e em seguida clica outro em pouco espaço de tempo), talvez o loadMovie não oferece melhor controle nessa parte de carregamento, surgindo o tal erro inesperado.

LoadMovie é pra caso mais simples, mesmo sendo teoricamente um caso simples no seu caso, também não quer dizer que loadMovie te oferece maior controle do carregamento de um arquivo externo.

A opção que seu amigo sugeriu pode dar certo. Mas só da pra saber se fizer testes.

Talvez, usando a classe MovieClipLoader no lugar do loadMovie, esse problema de carregamento pode ser resolvido, pois você tem maior controle sobre o carregamento de arquivos:
Confere esse artigo que explica diferença entre loadMovie e MovieClipLoader:
http://imasters.uol.com.br/artigo/3593/mov...der_e_loadmovie

Na net você acha mais exemplos sobre MoveiClipLoader pra conferir como usar.

Poste seu código de onde você imagina que acontece esse erro.
Se puder poste também referência de arquivos editáveis pra agiliza na hora de tentarmos te ajudar.

Abraço.
0

#3 User is offline   Torwen 

  • Group: Membros
  • Posts: 10
  • Joined: 10-December 07

Posted 02 December 2009 - 02:49 AM

Olá Rodrigo, obrigado pela resposta.

Estou usando o CS4 e publicando na ultima versão, usando action script 2.0, com os codigos direto nos botoes (nao estao na timeline).

Já testei no IE e no Mozilla e o problema acontece nos dois.

Eu li o artigo que você mandou o link, do LoadMovie e MovieClipLoader, mas ele está um pouco acima do meu nível de programação em AS.

Coloquei meu arquivo aberto em www.lcmarigo.com.br/vitor/produtos.fla , se puder dar uma olhada, te agradeço muito !!

Grande abraço,
Vitor.
0

#4 User is offline   Torwen 

  • Group: Membros
  • Posts: 10
  • Joined: 10-December 07

Posted 10 December 2009 - 01:38 PM

Alguma solução ??

Obrigado.
0

#5 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 10 December 2009 - 02:33 PM

Pesquisei o seu arquivo não achei nenhum bug, o script em si parece funcionar normal. Não sei porque surge tal erro no navegadores.

Abraço.
0

Share this topic:


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



Publicidade




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