Ir para conteúdo

POWERED BY:

Arquivado

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

drwinux

[Resolvido] Problema com menu drop down

Recommended Posts

Boa noite pessoal...

 

estou fazendo um menu drop down...

mais estou com o seguinte problema, preciso adicionar um eventListener para um botao que esta dentro do movie clip submenu, o problema que esse botao esta na linha 2, pois a linha 1 esta em branco (para o submenu nao aparecer).

 

this["sub1"].sub1_bt1.addEventListener(MouseEvent.MOUSE_OVER, over_sub1_bt1 );

 

quando coloco essa linha da um erro dizendo que o botao nao existe

 

preciso saber como posso acessar esse botao.

 

desde ja agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar o método não-documentado addFrameScript(); ou utilizar um ouvinte do evento Event.FRAME_CONSTRUCTED que verifique, a cada execução, se você está no frame desejado; ou realizar suas definições explicitamente no frame que precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda nao esta dando certo.

pesquisei o que foi postado acima, mais nao estou conseguindo usar.

 

vou explicar melhor,

no timeline principal tenho um botao onde adicionei os seguintes comandos

this["bt1"].addEventListener(MouseEvent.MOUSE_OVER, over_bt1_l1 );

this["bt1"].addEventListener(MouseEvent.MOUSE_OUT, out_bt1_l1 );

 

quando passo o mouse encima abre o submenu que é um movie clip com o nome sub1

 

function over_bt1_l1(evt:MouseEvent):void{

sub1.gotoAndStop(2);

}

 

function out_bt1_l1(evt:MouseEvent):void{

sub1.gotoAndStop(1);

}

 

meu problema ocorre quando passo o mouse em cima do botao que coloquei dentro do movie clip sub1

ai ele da como invalido, pois o botao nao existe no frame 1, apenas no frame 2

 

como posso adicionar um evento para esse botao para que quando eu passe o mouse do botao que esta dentro do sub1

nao suma o submenu sub1.

 

sou meio iniciante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me ocorreu uma idéia aqui.

 

O mc sub1 está no frame 1.

 

Não é possível também criar o botão no frame 1 e declarar como visible false?

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o botão só existe no frame 2, você poderia colocar as actions para esse botão no frame 2, mas ainda prefiro controlar por visible como a Sra D. Elektra disse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

... como a Sra D. Elektra disse .......hein???? :ermm:

 

ô carneirinho, eu tô começando, não me maltrata, rsrssss

 

mas foi legal saber que não pensei nenhum absurdo

 

 

 

ps: mais um pra me alugar :grin: (me aguarde, ainda domino esse trem do AS3)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas das soluções que lhe apresentei são as seguintes. Considere uma situação onde haja um MovieClip nomeado de mc e dentro dele, no frame 2, um outro nomeado de mc2.

 

Utilizando addFrameScript():

mc.addFrameScript(1, mcFrame2); // 1 por usar índice a partir de 0.

function mcFrame2():void
{
trace(mc.mc2);
mc.stop();
}

 

Utilizando o evento Event.FRAME_CONSTRUCTED:

mc.addEventListener(Event.FRAME_CONSTRUCTED, mcEnterFrameHandler);

function mcEnterFrameHandler(e:Event):void
{
if (mc.currentFrame == 2) {
	trace(mc.mc2);
	mc.stop();

	mc.removeEventListener(Event.FRAME_CONSTRUCTED, mcEnterFrameHandler);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pela ajuda de todos,

 

mais acabei usando a dica da colega elektra, mais como seu iniciante, fica mais facil para min implementar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também tenho muito o que aprender, legal que conseguiu. :clap:

 

Não deixo de anotar as orientações dos colegas que dominam o assunto, sempre mais eficientes, aos poucos a gente pega o jeito.

 

Abraços

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.