Jump to content
Fórum Script Brasil
  • 0

Preloader Dentro Dum Mc Que Carrega Um Swf Externo


lampiao_muléstia

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...