Jump to content

Como carregar 2 ou mais swf via LoadMovie


cetus
 Share

Recommended Posts

Heyas,

para carregares 2 é repetires a instrução...

se mandares carregar para dentro de MovieClips, é mais facil de os posicionar etc e tal...

Se forem muitos mesmo e nao quiseres escrever N vezes o mesmo comando, entao usa um pequeno ciclo.

Fica bem

Ricardo Castelhano

-----------------------

FullStack Developer

Technical Manager

Trainer

Link to comment
Share on other sites

Não é repetir o código dentro das Actions do mesmo botão. 😄

Por que assim, lê lá bem o código: Ao clicar faz o load do movie file1 e ao clicar faz o load do file2? O flash fica confundido.

Tens de criar outro botão e coloca lá a segunda instrução.

É preferível usares o evento on (release) porque aqui a acção só acontece quando a pessoa clicar e libertar o botão do rato. Se se enganar sempre pode evitar largar o botão do rato e ir clicar fora dele.

Redcodestudio - Programação Web - http://www.redcodestudio.com/

Link to comment
Share on other sites

Não sei se estou a perceber a pergunta de outra forma, mas se de facto ele está a tentar carregar 2 swfs para o mesmo sitio, basicamente o que acontece é que o segundo fica por cima do primeiro, porque estão ambos a ir para a _root.

Eu acho que devias criar 2 movie clips na root e carregar para lá o loadMovie:

on(release)

{

createEmptyMovieClip("mc1",100);

createEmptyMovieClip("mc2",101);

mc1.loadMovie("externalMC1.swf");

mc2.loadMovie("externalMC2.swf");

}

Link to comment
Share on other sites

Boas cetus!

O teu problema é o seguinte: nunca convém fazer loadMovie de algo externo para a _root, porque como até deves ver graficamente, isso vai substituir tudo o que tens colocado na root, incluindo o botão que clicaste para fazer o pedido do swf. Daí eu ter colocado no meu exemplo a criação de um "emptyMovieClip" onde seriam colocados os swfs externos.

A possivel solução para isto seria algo como:

1) colocar nas acções da layer

createEmptyMovieClip("external_mc",100);

file_index = 1;

2) colocar no evento do botão

on (release)

{

loadMovie("file"+file_index+".swf", "external_mc");

file_index ++;

}

Com este código, sempre que clicas no botão, ele vai substituir o conteúdo do movieclip chamado external_mc pelo swf externo file1.swf, depois file2.swf ...

Cumprimentos

Link to comment
Share on other sites

Boas cetus!

Infelizmente eu não trabalho com rato (apenas com o touch pad) e assim sendo, não consigo testar o scroll ná página.

Mas já agora, quais são as páginas que têm scroll? A maioria das que abri têm o texto relativamente pequeno e a scrollbar fica sempre inactiva.

Mas já agora, como é que estás a registar o evento do scroll? E o que é que estás a fazer aos movieclips que são fechados? Se calhar, se estiveres a colocar janelas como não vísiveis, o evento do rato pode na mesma estar a ser "apanhado" pelo movie clip que já não está visivel. Mas é complicado sem saber exactamente como estás a gerir as várias janelas...

Cumprimentos

Link to comment
Share on other sites

botão "continuar" (entrada) -> on (release) {loadMovie("avs.swf", "_root");

                                                }

quando carrega o avs.swf, no 1º frame  -> unloadMovie(index.swf)

                                                                      stop();

                                                                      loadMovieNum("botoes.swf", 4);

                                                                      loadMovieNum("placa_activi.swf", 2);

                                                                      loadMovieNum("morcego.swf", 5);

botões barra ("quem somos", "formação ambiental", "educação ambiental"...etc) -> on (release) {loadMovieNum("quem_somos.swf", 1);

                                                                                                                              }

No conteudo dos botoes ("quem somos", "formação ambiental", "educação ambiental", etc), existe um botão "voltar" -> on (release) unloadMovieNum  (1);

}

Não sei se vais perceber alguma coisa... Eu não tenho nenhum tipo de formação em flash, e fiz isto tudo baseado em manuais e tutoriais que li... por isso, para os mestres, deve estar uma grande confusão, para nao dizer outra coisa pior... 😉

Link to comment
Share on other sites

Hmmm... pois! É complicado perceber a lógica de como estás a manipular os vários swfs. Mas relativamente à scrollbar que usas nos textos, estás a usar a que vem no flash? Ou é uma alguma outra?

Eu não tenho bem a certeza, mas pela minha experiência, dizem que alguns dos eventos têm que ser desregistados antes de retirar o movieClip, mas nunca testei bem os efeitos que podiam ter.

Consegues ver onde e como é que a scrollbar faz o register do evento de scroll do rato?

Link to comment
Share on other sites

Dimen, As barras scroll utilizadas nas caixsa de texto são as que vem no flash, sim.  Mas volto a referir que o meu problema nada tem a ver com as barras de scroll das caixas de texto! Mas sim, com o facto de conseguir deslocar toda a página para cima e para baixo.... Ou seja quando abres a página no browser, apenas visualizas a metade de cima e para visualizares a metade de baixo tens de deslocar a barra de scroll do Internet explorer para baixo... função essa que devia poder ser utilizada com o scroll do rato..

Link to comment
Share on other sites

Mas isso em principio é pelo simples facto de teres o focus do rato no objecto html swf. Experimenta clicar com o rato fora da zona do swf e depois no scroll...

O mesmo se aplica aos shortcuts que os browsers permitem. Por exemplo, se estiveres a inserir dados numa aplicação flash, e tentares no firefox clicar em ctrl+tab para mudar a de janela, também não funciona. Tens primeiro que clicar com o rato fora do swf, numa parte que seja html, para o browser voltar a captar os eventos. Isto porque o swf por natureza, ao ter focus, permite capturar todas os eventos de teclas e rato do sistema operativo.

Que eu tenha conhecimento, não há forma de evitar a captura desses eventos no flash...

A solução "típica" é evitar que o flash ocupe tanto espaço, e eventualmente ter uma scroll interna dentro do swf (daí até ter pensado que era esse o teu problema).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.