Ir para conteúdo

POWERED BY:

Arquivado

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

Bacsh

[Resolvido] LoadMovie e setproperty.

Recommended Posts

Fala galera iMaster! beleza!?

 

Bom, estou com um pequeno probleminha no meu novo site em desenvolvimento, sou iniciante no flash, me dou bem com a parte da animação mas com as actions ainda sou meio enrolado. Vamos lá então:

 

1° Tenho um swf principal (vamos chama-lo de "base") que está puxando um swf externo (vamos chama-lo de "agenda"). Da base eu fiz comandos para abrir a agenda através de um load movie:

 

if (this.containerAgenda)
{
   trace ("\'---> JÁ EXISTIA O CONTAINER");
   this.containerAgenda.gotoAndPlay("abrir");
   _global.paginaAtual = "agenda";    
}
else
{
   trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD");
   var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth());
   this.containerAgenda.loadMovie("swf/agenda.swf");
   _global.paginaAtual = "agenda";

}

 

Até aqui tudo bem, o Movie está abrindo normal e fechando através da base. Então tá abriu e fechou agora é só aprimorar os códigos da agenda, como vocês notaram o agenda (swf externo) é realmente um agenda que precisa ter um Scroll, até ae tudo bem, fiz o Scroll e ele está funcionando na agenda normalmente, o problema é que quando eu abro ele através da base ele para de funcionar, provavelmente o problema está nesse código que eu coloquei na agenda:

 

oldY=0;
newY=0;
Y=0;
Y = getProperty('/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;
setproperty('/textnpicMC/textnpic',_y,newY);
oldY = newY;

 

Creio que o problema esteja nesse caminho, a minha dúvida é: Preciso retirar esse código da minha agenda e colocar na base ou simplesmente alterar esse caminho do getProperty e do setproperty?

 

Usando minha lógica eu achei que tinha que colocar na base, então eu tentei de 2 maneiras mas não funcinou:

 

if (this.containerAgenda)
{
   trace ("\'---> JÁ EXISTIA O CONTAINER");
   this.containerAgenda.gotoAndPlay("abrir");
_global.paginaAtual = "agenda";
oldY=0;
newY=0;
Y=0;
Y = this.containerAgenda.getProperty('/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;
this.containerAgenda.setproperty('/textnpicMC/textnpic',_y,newY);
oldY = newY;  
}
else
{
   trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD");
   var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth());
this.containerAgenda.loadMovie("swf/agenda.swf");
_global.paginaAtual = "agenda";
oldY=0;
newY=0;
Y=0;
Y = this.containerAgenda.getProperty('/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;
this.containerAgenda.setproperty('/textnpicMC/textnpic',_y,newY);
oldY = newY;


}

 

 

 

2° maneira:

 

if (this.containerAgenda)
{
   trace ("\'---> JÁ EXISTIA O CONTAINER");
   this.containerAgenda.gotoAndPlay("abrir");
_global.paginaAtual = "agenda";
oldY=0;
newY=0;
Y=0;
Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;
setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY);
oldY = newY;




}
else
{
   trace ("\'---> NÃO EXISTE O CONTAINER, CRIA O CONTAINER E FAZ PRELOAD");
   var containerAgenda = this.createEmptyMovieClip("containerAgenda", this.getNextHighestDepth());
this.containerAgenda.loadMovie("swf/agenda.swf");
_global.paginaAtual = "agenda";
oldY=0;
newY=0;
Y=0;
   Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;
setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY);
oldY = newY;

}

 

 

Repare que nessa segunda maneira já mostra o caminho onde os movies estão sendo criados para fazer o load. Se alguém puder me ajudar eu agradeceria muito, essa parte de caminhos é realmente complicada de intender pois não da mensagem de erro, e também eu acho que não tem tutorial que possa me ajudar em relação a essa parte, por isso espero que vocês me ajudem :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehehehe

 

Depois de muito quebrar a cabeça consegui descobrir a solução, o segredo é pensar que o swf externo pertence ao interno vamos se dizer, ou seja bastava arrumar a action da agenda que setava como se o movie estivesse na root, mas quando dava um load na agenda o root virava o root da minha base, então eu modifiquei o código da agenda, ficou assim:

 

Y = getProperty('/areas/agenda/containerAgenda/scrollerMC/scroller',_y);
newY = oldY + (Y - oldY)/-1.4;

setproperty('/areas/agenda/containerAgenda/textnpicMC/textnpic',_y,newY);
oldY = newY;

 

Se eu abrir o swf da agenda o scroll não vai funcionar simplesmente porque esse caminho não existe, mas se eu abrir pela minha base ele vai localizar perfeitamente o caminho e o scroll volta a funcionar.

 

Enfim... eu disse que era um problema simples, se quiserem apagar o tópico é tranquilo mas se quiserem deixar para ajudar outros membros com um problema parecido fiquem a vontade :joia:

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.