Ir para conteúdo

POWERED BY:

Arquivado

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

hargon

[Resolvido] SWF não funciona ao ser carregado externamente

Recommended Posts

Tenho um SWF que funciona perfeitamente ao ser executado. Mas quando carrego ele através do SWF principal, ele não funciona mais (somente uma parte da programação que não funciona).

 

Como resolvo isso?

 

Obrigado pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como ele ta configurado esse swf externo

É com condificação this???

ou _root...

 

Se for root pode ser esse o problema... pois ele ta procurando no swf root as informações que não existem

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala man. O código do swf que é carregado está +- assim:

var movieAdd:MovieClip;
movieAdd = mcfotominiatura.attachMovie("mcBtnfotos",nmBotao,10,{_x:33 + (46.3), _y:alturaX});
movieAdd.mcfoto.loadMovie($imgFotoMin[cont]);
movieAdd.btnFoto.onPress = function(){funcaoCont(this);};

function funcaoCont(numero):Void
{
   var divideArray;
   var numeroFinal;
   divideArray = targetPath(numero).split(".");
   numero = divideArray[2].split("botao");
   mcFotoGrande.mcFotoGrandeF.loadMovie($imgFoto[numero[1]]);
}
O problema está na funcaoCont. Quando clico no botão era para carregar a foto, mas não carrega. Só carrega se executar o swf diretamente.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase certaza...

 

Mas tenta ver aqui:

movieAdd.btnFoto.onPress = function(){funcaoCont(this);};
Veja se esse this ta retornando o clip carregado....

Ou se ele ta retornando o objeto do botão btnFoto

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

trace(this), retorna isso:

_level0.mcfotominiatura.botao0.btnFoto

 

o trace(this), após ser carregado externamente e clicar no botão, retona isso:

_level0._mcprincipal._mcconteudo._mcloadmovie.mcfotominiatura.botao1.btnFoto

 

Um detalhe é que mais acima (não citei anteriormente) tem um comando que faz isso:

mcFotoGrande.mcFotoGrandeF.loadMovie(arquivoXML.firstChild.childNodes[0].attributes.imagem);

 

O erro acontece somente quando executo o comando acima, mas dentro da função.

 

Existe algum comando que faz com que todos os comandos do SWF externo, só funcionem dentro dele? Não sei se estou louco ou se já li a respeito anteriormente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai você me pegou haha

 

Nunca passei por isso.

 

Mas aqui:

movieAdd.btnFoto.onPress = function(){funcaoCont(this);};

O retorno é uma string do this

e aqui:

numero = divideArray[2].split("botao");
mcFotoGrande.mcFotoGrandeF.loadMovie($imgFoto[numero[1]]);

Você ta causando uma pane transformando uma string do nada em uma array...

Isso pode causar erros...

 

Você sempre pode usar:

this.lockroot
para travar os comandos dentro do clip...

 

Mas como você mesmo viu... ele ta retornando o caminho todo em 1 função no externo

E quando carrega dentro do outro ele chama o caminho todo real até ele...

 

O que você pode fazer é colocar um:

this._name
Assim ele vai pegar só o nome do botão...

Em vez de fica pegando todo o caminho dele.

 

Ai você pode fazer toda essa função ai sem ter que se preucupar com o caminho dele ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... você é um gênio.

 

Ficou assim:

movieAdd.onPress = function(){
  funcaoCont(this._name);
};
Removi o btnFoto. Fiz os demais acertos também para melhorar o código. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Obrigado brother.

 

Abraço.

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.