Ir para conteúdo

POWERED BY:

Arquivado

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

Annes

Problemas com a função loadMovie

Recommended Posts

Tenho diversos filmes para serem chamados. O primeiro, nomeado como principal.swf. Os outros vídeos se encontram em sub-pastas: filmes/filme1.swf, filmes/filme2.swf... exercicios/exerc1.swf, exercicios/exerc2.swf...

 

Meu código no filme principalestá assim (de acordo com o que aprendi aqui no fórum mesmo):

 

_root.createEmptyMovieClip("clipAlvo", _root.getNextHighestDepth());

exemplo_btn.onRelease = function() {
   _root.clipAlvo.loadMovie ("filmes/filme1.swf");
}

 

O filme/filme1.swf roda sobre o principal, necessitando que o fundo do principal apareça. Quando chega na última cena, ele pára e descarrega:

 

stop();
unloadMovie(this);

 

Já no exercicio/exerc1.swf, tem que rodar um terceiro vídeo lá dentro, também com a necessidade do fundo inicial. Então, precisei criar mais um nível:

 

_root.clipAlvo.createEmptyMovieClip("clipAlvo2", _root.getNextHighestDepth());

exercicio_btn.onRelease = function() {
  _root.clipAlvo.clipAlvo2.loadMovie("filme/filme2.swf");
}

 

Eis o grande problema: como é educacional, precisamos de sons para deixar mais fácil de entender e mais interativo. Na cena inicial, coloquei um botão que possui o som de passar por cima, e de clique. Mas ele fica ativo, mesmo quando os outros filmes estão rodando por cima. Então, na hora do exercício, o botão da página inicial fica fazendo o barulhinho. E o pior é que, se ele for clicado, abaixo do vídeo do exercício, as próximas cenas ficarão rodando. O pior do pior é que as cenas seguintes, são com narrações... então, fica o som do exercício sobreposto ao som da narração.

 

Pensei em colocar um frame antes da cena inicial com o botão, e nele o

_root.createEmptyMovieClip("clipAlvo", _root.getNextHighestDepth());

porém, não dá certo, pois o filme vai para esta cena e em seguida, vai para a próxima, onde está o botão.

 

Tentei também colocar o

unloadMovie(this);

depois do

 

exemplo_btn.onRelease = function() {
   _root.clipAlvo.loadMovie ("filmes/filme1.swf");
}

 

Mas também não deu certo! O filme principal descarrega, e com isso, não carrega o próximo filme.

Será que ficou claro o meu problema e a minha animação/simulação?

 

Pensei em fazer algo como deixar na primeira cena quando o filme principal der espaço para os exercícios. Mas não sei fazer isso... também não sei se isso vai resolver o meu problema.

 

Agradeço desde já, se alguém puder me ajudar!

(OBS: Estou usando actionscript2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confesso que fiz uma leitura dinâmica no seu tópico...

Quando carregar um swf em um nível superior deixando visível o inferior mas com as ações deste desativadas, utilize:

objeto.enabled = true; //Habilitar

objeto.enabled = false; //Desabilitar

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

rsrs... mesmo com uma leitura dinâmica, você conseguiu captar o problema... Vou testar amanha pra ver se dá certo, e depois posto aqui se deu ou não certo!

 

Obrigada, novamente...

 

Olha... não deu certo ainda, mas é porque eu não sei como colocar o

 

objeto.enabled = true; 

 

Onde coloco esta parte do código? Explico melhor minha dúvida:

 

Se eu colocar no filme principal, nele, vou colocar o código:

 

objeto.enabled = false;

 

Então, o outro filme estará rodando por cima. Quando o outro terminar, ele sai automaticamente, pois coloquei o unloadMovie. Mas volta para o principal, que está desabilitado. Como fazer com que este só seja habilitado quando o outro descarregar?

 

Outra coisa... não tenho certeza de como colocar o código! Se eu coloco "principal.swf", não dá certo, aparece um erro do compilador dizendo que não existe a propriedade enabled. Se eu coloco como abaixo, não funcionou!

 

No meu exemplo:

principal.swf:

 

btn.onRelease = function() {
   _root.clipAlvo.loadMovie ("filmes/filme1.swf");
   principal.swf.enabled = false;
}

 

No filme1.swf, no último frame do filme:

unloadMovie(this);
principal.swf.enabled = true;

 

Sei que está errado! Mas não sei como consertar isso aí!

Desculpe pelos erros grotescos... mas até que estou conseguindo desenvolver bastante coisa! Comecei um curso, porém, tem coisas que não posso esperar as aulas para resolver...

 

Agradeço muito a você por toda a paciência que tem tido comigo, viu!?! E quando eu estiver fera no actionscript, virei aqui no fórum para palpitar nas dúvidas dos outros... rsrs...

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.