Loadmovie Não Funciona
#1
Posted 10/06/2009, 13:59
Meu caso é o seguinte:
Tenho um site principal: stage.swf
Nesse stage.swf será carregado um outro swf, no caso será o loadStage.swf (será onde ficará o palco central, onde quero que carreguem as outras seções do site)
Seguindo. Neste loadStage.swf existem 4 swf's que estão sendo carregados através do loadMovie (quad1.swf - quad2.swf - quad3.swf - quad4.swf)
Como está funcionando?
Site principal é o stage.swf
Quando o usuário acessa o site, o stage.swf irá executar uma AS que carrega o loadStage.swf
----- AS stage.swf -----
onLoad = function () {
_root.createEmptyMovieClip("loadStage",1);
loadMovie("loadStage.swf", "loadStage");
loadStage._x = 8;
loadStage._y = 249;
};
---------------------------
Quando o loadStage.swf é carregado, por sua vez ele deveria aparecer no stage.swf e carregar os outros swf's (stage.swf <carrega> loadStage.swf <que deveria carregar> quad1.swf + quad2.swf + quad3.swf + quad4.swf), mas o que acontece é que o stage.swf carrega o loadStage.swf perfeitamente, mas o loadStage.swf não aparece com os outros swf's que ele deveria carregar.
----- AS loadStage.swf -----
onLoad = function () {
_root.createEmptyMovieClip("quad1",1);
loadMovie("quad1.swf", "quad1");
quad1._x = 13;
quad1._y = 60;
_root.createEmptyMovieClip("quad2",2);
loadMovie("quad2.swf", "quad2");
quad2._x = 12;
quad2._y = 250;
_root.createEmptyMovieClip("quad3",3);
loadMovie("quad3.swf", "quad3");
quad3._x = 500;
quad3._y = 60;
_root.createEmptyMovieClip("quad4",4);
loadMovie("quad4.swf", "quad4");
quad4._x = 500;
quad4._y = 250;
}
--------------------------------
Há algum erro que não estou percebendo?
Tem algo que possa ser feito para que eu consiga fazer isso funcionar?
Aguardo respostas de quem possa me ajudar
- HaroNism likes this
#2
Posted 11/06/2009, 15:25
Como podem ver logo abaixo eu tinha uma dúvida com loadMovie dentro de loadMovie que acabou ficando sem solução.
Agora venho com um problema que apareceu quando tentei contornar o problema anterior.
Estou usando a Action Script abaixo para carregar 4 SWF's
-----
onLoad = function () {
_root.createEmptyMovieClip("quad1",1);
loadMovie("quad1.swf", "quad1");
quad1._x = 13;
quad1._y = 60;
_root.createEmptyMovieClip("quad2",2);
loadMovie("quad2.swf", "quad2");
quad2._x = 12;
quad2._y = 250;
_root.createEmptyMovieClip("quad3",3);
loadMovie("quad3.swf", "quad3");
quad3._x = 500;
quad3._y = 60;
_root.createEmptyMovieClip("quad4",4);
loadMovie("quad4.swf", "quad4");
quad4._x = 500;
quad4._y = 250;
}
-----
Esta AS encontra-se no FRAME 1 de uma layer dentro do stage.swf. Com o parametro onLoad ela carrega os 4 SWF's perfeitamente, desde que ela esteja no FRAME 1.
O problema surgiu quando eu tentei colocar um preloader. Desloquei o conteudo do FRAME 1 para o FRAME 3 para poder utilizar os 2 primeiros FRAMES para o preloader e foi isso que causou o problema.
Depois que o AS acima foi deslocado para a FRAME 3 ele simplesmente não carrega mais os SWF's. Tentei mudar de onLoad para onEnterFrame mas de nada adiantou.
Certamente deve ter algo errado que não consigo ver...
Alguém poderia me ajudar?
Bom dia caros amigos do forum!
Como podem ver logo abaixo eu tinha uma dúvida com loadMovie dentro de loadMovie que acabou ficando sem solução.
Agora venho com um problema que apareceu quando tentei contornar o problema anterior.
Estou usando a Action Script abaixo para carregar 4 SWF's
-----
onLoad = function () {
_root.createEmptyMovieClip("quad1",1);
loadMovie("quad1.swf", "quad1");
quad1._x = 13;
quad1._y = 60;
_root.createEmptyMovieClip("quad2",2);
loadMovie("quad2.swf", "quad2");
quad2._x = 12;
quad2._y = 250;
_root.createEmptyMovieClip("quad3",3);
loadMovie("quad3.swf", "quad3");
quad3._x = 500;
quad3._y = 60;
_root.createEmptyMovieClip("quad4",4);
loadMovie("quad4.swf", "quad4");
quad4._x = 500;
quad4._y = 250;
}
-----
Esta AS encontra-se no FRAME 1 de uma layer dentro do stage.swf. Com o parametro onLoad ela carrega os 4 SWF's perfeitamente, desde que ela esteja no FRAME 1.
O problema surgiu quando eu tentei colocar um preloader. Desloquei o conteudo do FRAME 1 para o FRAME 3 para poder utilizar os 2 primeiros FRAMES para o preloader e foi isso que causou o problema.
Depois que o AS acima foi deslocado para a FRAME 3 ele simplesmente não carrega mais os SWF's. Tentei mudar de onLoad para onEnterFrame mas de nada adiantou.
Certamente deve ter algo errado que não consigo ver...
Alguém poderia me ajudar?
continuei tentando e descobri que bastava colocar "loadMovie" que iria carregar normalmente - não é necessário "onLoad" ou "onEnterFrame"
Pode trancar
#3
Posted 22/06/2009, 10:03
Bem vindo ao nosso fórum.
O seu problema, suponho, está no fato de tentar executar o script quando ele ainda não acabou de ser construído ou então não foi totalmente carregado.
Para resolver esse problema, sugiro que você não utilize o método loadMovie e sim a classe MovieClipLoader, que gerencia o carregamento de arquivos externos no flash e ainda tem um fluxo de eventos para te ajudar a trabalhar com esses arquivos após serem carregados.
Faça assim:
// Esse código deve estar no seu swf principal: // 1. Crio um objeto MovieClipLoader que vai carregar meus arquivos externos: var loader:MovieClipLoader = new MovieClipLoader(); // 2. Crio um "listener" que vai acompanhar o que o 'loader' está fazendo: var list:Object = new Object(); // 3. Vinculo esse listener ao meu objeto carregador: loader.addListener(lis); // 4. Crio os métodos que vou usar para acompnhar o trabalho do meu carregador: list.onLoadStart = function(target_mc:MovieClip):Void { // aqui será executado quando o carregamento do arquivo externo iniciar: trace("Começou a carregar um arquivo externo dentro do clip " + target_mc); } list.onLoadProgress = function(target_mc:MovieClip, bytesCarregados:Number, bytesTotais:Number):Void { // enquanto o carregamento estiver acontecendo, esse método vai sendo chamado para que você possa acompanhar esse processo: var pct:Number = Math.round((bytesCarregados / bytesTotais) * 100); trace("Já carregou " + pct + "% do que você deseja no movie " + target_mc); } list.onLoadComplete = function(target_mc:MovieClip):Void { /* aqui é quando o processo de carregamento acabou. Mas isso não significa que no caso de um swf ele está disponível para uso. Significa apenas que os seus bytes já foram todos carregados. Eu, se fosse você, usaria o próximo método, que é o onLoadInit, que explico logo abaixo: */ trace("todos os bytes foram carregados"); } list.onLoadInit(target_mc:MovieClip):Void { /* Esse sim é o principal método que você pode dispor para resolver o seu problema. O evento onLoadInit é disparado quando o swf foi carregado e os scripts do primeiro frame foram todos lidos e executados pelo player. Vou colocar abaixo a chamada de uma função para que você entenda depois o que estou fazendo, ok? */ target_mc.loadOthersSwfs(); } /* Quando você for usar o código acima, escolha o onLoadInit e não use o método onLoadComplete. Existe um sabido bug no uso dos dois métodos conjuntamente que leva a disparar o onComplete antes de carregar tudo (muito raro, mas pode acontecer) ou então que ambos não executem (o que pode acontecer com certa frequencia). Como o 'onLoadInit' é disparado também com o complete do carregamento, pode ficar com ele tranquilamente. Agora que você já sabe quando o swf foi carregado e quando ele tem suas actions carregadas e prontas para serem usadas fica mais fácil. Vá até o seu swf externo que carrega os outros 4 swfs menores, arranque dele os scripts de preloader. Em AS2 o acompanhamento de carregamento de um swf externo é feito pelo swf que carrega, nunca pelo swf que está sendo carregado. Esse é o seu erro principal. Pois quando o swf externo é carregado, ele não comunica adequadamente o swf pai disso. Para isso que existe a classe MovieClipLoader. Para dar a informação a quem precisa, hehe. Aí no quadro 1 do seu swf que foi carregado, você vai fazer o mesmo esquema para carregar os outros swfs. E o método loadOthersSwfs(), que será executado no onLoadInit do swf principal. */ // Código no "stage.swf" que vai carregar os outros 4 menores: function loadOthersSwfs():Void { trace("agora que fui carregado e iniciado, posso começar a carregar meus próprios swfs externos!"); }
Espero ter ajudado.
Abraços.
pp
www.pedropauloalmeida.com.br
Leia as Regras! Colabore com nosso Fórum respeitando as normas de posts e de perfis.
#5
Posted 28/09/2017, 01:42
#6
Posted 13/10/2017, 22:08
Comprar Viagra Sin Receta En Valencia Legally Bentyl Cod Accepted Without Perscription With Free Shipping Articulo 45 viagra online prescription Cialis Viagra Panorama Cialis Tablettes Viagra Cialis Canadian Pharmacy
Cialis Ficha Tecnica viagra Cialis Maux De Ventre Kamagra Gel Oral Efectos Secundarios Viagra Prix Maroc
#7
Posted 30/10/2017, 10:57
Potenzmittel Viagra Und Injection Amoxicillin Dosage viagra Panamycin Cialis Originale Online Viagra En Madrid Espana
#8
Posted 17/11/2017, 18:38
Express Pharmacy New Zealand Suisse Kamagra Prix levitra brand online Sans Ordonnance Amoxicillin Pharmacie En Ligne Ordonnance Fast Shipping Viagra
Using Expired Amoxicillin Buy Amoxicillin Antibodics Online Cheap Generic Provera Best Website On Sale Shop viagra vs cialis vs levitra reviews Cialis Avec Dapoxetine
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)