Ir para conteúdo

POWERED BY:

Arquivado

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

Ma-h

[Resolvido] Loader e SWF Externo

Recommended Posts

Olá, Boa tarde...

 

é assim... no stage tenho um Alvo (holder) e qd clicar em um botao laaa na frente ele abre meu swf externo

ok, até algumas horas atrás estava ok. mas fiz umas ultimas correçoes e ele parou de funcionar...

ja mudei o caminho do botão, fiz tudo q eu sei e nao achei o problema...

mando o codigo espero q vejam oq eu nao to vendo >_<

 

var mcl:MovieClipLoader = new MovieClipLoader();
var mclL:Object = new Object();
mclL.onLoadProgress = function(target, loaded, total) {
	loader.percent.text = Math.round((loaded/total)*100)+"%";
};
mclL.onLoadInit = function() {
	loader._visible = false;
	loader.percent.text = "";
};
mcl.addListener(mclL);
_root.caminhodomeubotao.onRelease = function() {
	loader._visible = true;
	mcl.loadClip("teste.swf", holder);
};
_root.caminhodosegundobotao.onRelease = function() {
	loader._visible = true;
	mcl.loadClip("teste2.swf", holder);
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi,

 

testei e não funcionou...

eu tava vendo aqui e fiz um botao dentro de somente uma MC e ele funcionou...

 

no flash por acaso tem uma quantidade de Mc's que ele pode entrar? O-o

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta ir usando uns trace, deve ser problema de escopo:

 

 

_root.caminhodomeubotao.onRelease = function() {
	loader._visible = true;
	mcl.loadClip("teste.swf", holder);
	trace(mcl)
	trace(holder)
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom você experimentou descarregar um para carregar o outro?

 

dar unloadMovie??

 

E que eu me lembre as variaveis de target no caso seu Holder precisa estar entre aspas "" se não ele não interpreta...

 

...

 

Se você posta o fla ai eu corrijo e mando de volta pra você, se assim preferir. faço ele funcionar rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

O holder não precisa estar entre aspas, é a instância que conterá o MC carregado. Porém ele deve estar no mesmo nível do script, ou então você tem que colocar o caminho completo. Em princípio, se houver múltiplos carregamentos em MC, o próximo sobrescreve o anterior. Usamos o unload para liberar memória. Verifique também outros fatores externos que podem melar o código. Um tempo atrás descobri que colocar uma variável numérica em uma função que pedia string transformava ela numa string - daí vinha tudo abaixo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom andei olhando ainda não corrigi o erro, mas estou vendo aqui ;)

Quando corrigir eu posto

 

Erro numero 1: você chama no código a variável lanches como para chamar o clip ao clicar, mas também instancia dois outros botões iguais ao lanches de pizza! então você vai chamar ou de lanches ou de pizza... não pode dar 2 nomes diferentes para o mesmo botão não é mesmo?

 

para limpar seu código use _parent para não ter de ficar _root.bla.bla.bla.bla...

 

Se você usar o _parent você só vai ter de digitar _parent.nomedobotao.onRelease = function (){

 

Quando eu fizer volta funcionar volto a postar ;)

 

O erro claramente ta nessa chamada

 

_root.menu1.mcparticipantes.quasela.botoesdireita.mcbotoesum.lanches.onRelease = function() {

Que não está funcionando -.-

nem com _parent.variável

 

agora como arrumar...??... =X

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom.... depois de testes e mais testes.....

 

eis o meu veredito.....

 

Esquece todo esse seu loader ai complicado... e facilita sua vida!

 

você já criou o tal botão pizza e o tal botão lanches não é mesmo??

 

então vai nele...

 

e acrescenta a linha

on(press){

_root.menu1._visible = false;

loadMovie("teste.swf", _root.holder); // com essa linha a mais você terá seu problema resolvido....

}

 

ai você apaga a meleca toda que você fez lá de criar outro clip e bla bla bla... que não vai servir mais para nada :(

 

E seja feliz...

 

Faça o mesmo nos outros botões que eles tambem irão funcionar

 

pq _root.menu1.mcparticipantes.quasela.botoesdireita.mcbotoesum.lanches.onRelease = function() { não funcioa???

 

Não faço a menorrrrr ideia... na minha cabeça era para estar funcionando... pelo menos não tem nada de errado na linha....

 

Quem quiser tentar... faça um teste

 

Copie o arquivo dela

coloque uma botinha no clip principal e a instancie de bot

e coloque o comando bot.onRelease = function() {

bla bla

 

Ai depois coloque em outro clip

e vai _parent.bot.onRelease = function(){

bla bla bla

 

e assim vai até o _root.menu1.mcparticipantes.quasela.botoesdireita.mcbotoesum.bot.onRelease = function() {

e vocês vão ver que a p**** da bolinha q agora é um botão VAI FAZER O CLIP FUNCIONAR!!! mas agora....... alguem me explica porque cargas dagua..... o botão da menina não funciona??????

 

-.-

 

é só fuizzzzzz

Compartilhar este post


Link para o post
Compartilhar em outros sites

iaaaaaaa *_*

 

chegando no serviço amanha logo cedo ja testo acredito que tenha compreendido Berseck e obrigada pelas dicas.

assim que conseguir ja posto ^^

 

mtoooooooooooooooooooooooooooooooooo obrigada por enquanto

Compartilhar este post


Link para o post
Compartilhar em outros sites

feito..

 

mas ai ele fica sem nada carregando né... =/

 

>_<

 

teria como eu por pelo menos nessa chamada nao sei, algo q indicasse que ele tivesse carregando...

 

algum movieClip entre as chamadas pelo menos?

 

Mas mto mto mto obrigada pela ajuda *_____*

pelo menos agora tenho ele funcionando e sei q o erro no código não foi erro meu >_>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha para você fazer-lo carregar é só colocar um pré loader no começo do outro movie clip...

 

Cria uma caixinha de texto com animação e tals

 

dynamic text

 

E coloca esse comando no movie clip

onClipEvent (load) {
  _parent.stop();
}
onClipEvent (enterFrame) {

  // calcular o percentual carregado
  var perc = _parent.getBytesLoaded() / _parent.getBytesTotal();

  // como o percentual esta entre 0 e 1, multiplicar por 100
  perc *= 100;

  // arredondar o valor
  perc = Math.round(perc);

  // testar se ja carregou 100%
  if (perc >= 100)
  {
	// em caso afirmativo, mover a linha de
	// tempo principal para o segundo quadro
	_parent.gotoAndStop(2);
  }
  else
  {
	// caso nao tenha carregado tudo:

	// animamos de acordo com o total carregado
	var proximoQuadro = Math.round(perc * _totalframes / 100);
	gotoAndStop(proximoQuadro);

	// mostramos o percentual carregado na caixa de texto
	percentual = perc + "%";
  }
}

Lembrando que ai seu outro movie vai começar apartir do segundo frame... esse frame com o loading deve ficar no primeiro frame ;)

 

Qualquer duvida só falar

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum, tendi, achei q nao era possivel fazer um loader no outro swf. mas se funciona ta beleza *_*

 

muito muito muito obrigada mesmo Berseck

 

 

problema resolvido 8D

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.