Ir para conteúdo
Fórum Script Brasil
  • 0

Preloader Dentro Dum Mc Que Carrega Um Swf Externo


lampiao_muléstia

Pergunta

Eae galera, tava perguntando esses dias ai como fazia pra carregar um filme externo, no cas, um SWF pronto dentro de um MC em outro filme...

bom....isso ae consegui fazer filé,,,,

Agora oque quero fazer é colocar um preloader dentro do mc que chama o swf.....

ou seja.....o swf só será solto na tela quando estiver totalmente carregado....

ficaria mais ou menos assim

Link para ex.

(Só o botão " Inicial " esta funcionando

e o inicial.swf tem aprox. 3,4 MB, pois como estava testando um preloader coloquei um arquivo meio grande......ta com uma mp3 do allan jakson)

O Esquema de como foi feito é esse....

_root > mc_alvo > mc_preloader_inicial > inicial.swf

Como vocês podem notar ai no exemplo acima eu tenho uns 6 botões....

cada botão tem seu respectivo MC dentro do "mc_alvo" ou seja.,,, quando é clicado o mc correspondente da play.....e ai cai no quadro que tem o código de preloader....

Esse é meu problema....

tenho um código aqui mas ele é pra carregar o filme em si, e não um filme externo através de um MC , que é o que eu estou querendo fazer....

O Código que tenho é o seguinte....

onClipEvent (load) {
	total = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
	carregado = _root.getBytesLoaded();
	porcentagem = Math.round((carregado/total)*100);
	_root.pct = porcentagem+' %';
	_xscale = porcentagem;
	if (porcentagem == 100) {
  _root.play();
	} else {
  _root.stop();
	}
}

mas o preloader que to querendo é oque carrega o film externo como falei aí emcima.....

bom galera é isso.... alguém ai sabe como faz esse tipo de prelaoder...??

falows, qualquer duvida posta ae....

falows

t+

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

ok, vamos lá...

1) primeiro faça o MC que será onde o filme será carregado...vamos colocar a instancia "alvo" nele.

2) depois faça o seu loader...coloca lá a barrinha com instancia 'barra', e o campo dinamico com variavel 'porcento' (tudo isso fora do MC, é claro..)

3) agora, no frame, fora do MC 'alvo', coloque o seguinte script:

alvo.stop(); //pára o 'alvo'..
barra._xscale = 0; //deixa a barra com largura 0%
loadMovie("filme.swf","alvo"); //carrega do filme.swf pro MC "alvo"
alvo.onEnterFrame = function() { //enquando o "alvo" estiver rolando os frames..
total = alvo.getBytesTotal(); //seta a variável total com o total de bytes carregados dentro do "alvo".
carregado = alvo.getBytesLoaded(); //seta a variável carregado com os bytes carregados.
porcento = Math.floor((carregado/total)*100); //Math.floor é uma função pra arredondar o numero pra baixo. carregado/total*100 é a fórmula pra transformar os bytes carregado em porcentagem.
barra._xscale = porcento; //seta a largura da barra com a porcentagem calculada.
if (porcento == 100) { alvo.play(); } //se a porcentagem for 100, isto é, quando estviver tudo carregado, o alvo dá play.
porcento = carregado add "%"; //adicionar o "%" na variável carregado, pra aparecer no campo de porcentagem.
} //fim :}

é isso aí...divirta-se

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Dimmi Sueg

beleza man, funcionou! Mas corrigindo alguns detalhes:

.A útima linha tem um erro de sintax: "porcento = carregado add "%"; " coloque isso: "porcento = carregado+"%"; "

.O filme do flash que é carregado aparece com uma largura e altura exagerada e em posições não definidas. A SOLUÇÃO FINAL é subtistituir sua action ou alterar as diferenças com a action abaixo:

alvo.stop(); //pára o 'alvo'..

barra._xscale = 0; //deixa a barra com largura 0%

loadMovie("filme.swf","alvo"); //carrega do filme.swf pro MC "alvo"

alvo.onEnterFrame = function() { //enquando o "alvo" estiver rolando os frames..

total = alvo.getBytesTotal(); //seta a variável total com o total de bytes carregados dentro do "alvo".

alvo._x=0;

alvo._y=0;

alvo._xscale=100;

alvo._yscale=100;

carregado = alvo.getBytesLoaded(); //seta a variável carregado com os bytes carregados.

porcento = Math.floor((carregado/total)*100); //Math.floor é uma função pra arredondar o numero pra baixo. carregado/total*100 é a fórmula pra transformar os bytes carregado em porcentagem.

barra._xscale = porcento; //seta a largura da barra com a porcentagem calculada.

if (porcento == 100) { alvo.play(); } //se a porcentagem for 100, isto é, quando estviver tudo carregado, o alvo dá play.

porcento =carregado+"%"; //adicionar o "%" na variável carregado, pra aparecer no campo de porcentagem.

} //fim :}

.Note que tem umas linhas a mais:

alvo._x=0; = Define a posição do filme carregado a partir da esquerda do documento

alvo._y=0; = Define a posição do filme carregado a partir de cima do documento

alvo._xscale=100; = Define a largura do filme carregado (Muito importante!) em porcentagem

alvo._yscale=100; = Define a altura do filme carregado (Muito importante!) em porcentagem

Pronto basta fazer tudo como o George disse e colocar a action que eu mencionei, qualquer coisa entre em contato comigo pelo meu site:

live web extreme

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...