Ir para conteúdo

POWERED BY:

Arquivado

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

Edilsontec

Botões que navegam entre os Frames

Recommended Posts

Olá amigos, sou novo na área de Flash CS4, mas estou disposto a aprender tudo e esse fórum tem me ajudado muito, no momento estou com um problema que a primeira vista parece ser simples mas tem me dado uma boa dor de cabeça. Estou montando um site bem simples que contem 3 Layers

 

Actions = Código action script 3.0 no primeiro Frame

Rótulos = Nome dos botões

Layer 1(Frames de Conteúdo)

 

Existem 4 botões e respectivamente 4 frames de conteúdo que são Home, Loja, empresa e Contato

 

Trasformei os textos em botões, dei nome, instânciei direitinho com nomes identicos pra ficar simples.

 

E estou usando o seguinte código na camada actions, no primeiro frame:

 

=========================

 

Stop();

function navegacao(event:MouseEvent):void

{

gotoAndStop(event.target.name);

}

home.event.AddEventListener(MouseEvent.CLICK,navegacao);

loja.event.AddEventListener(MouseEvent.CLICK,navegacao);

empresa.event.AddEventListener(MouseEvent.CLICK,navegacao);

contato.event.AddEventListener(MouseEvent.CLICK,navegacao);

 

==========================

 

O Problema é que quando executo o código ele entra em loop e não para, e recebo as seguintes mensagens de erro:

 

scene1, Layer 'Actions' frame1, line6, 1119: Access of possibly undefined property event through a reference with static type flash.display:SimpleButton.

 

scene1, Layer 'Actions' frame1, line7, 1119: Access of possibly undefined property event through a reference with static type

flash.display:SimpleButton.

 

scene1, Layer 'Actions' frame1, line8, 1119: Access of possibly undefined property event through a reference with static type

flash.display:SimpleButton.

 

scene1, Layer 'Actions' frame1, line9, 1119: Access of possibly undefined property event through a reference with static type

flash.display:SimpleButton.

 

 

Como podem ver ele diz que a propriedade do evento é indefinida para as linhas de código que contém os nomes dos botões que chamam os frames. Alguem poderia me dar uma ajuda pois já pesquisei muito e não encontrei ajuda, o que ele deveria fazer é abrir estaticamente no primeiro frame (home) e navegar nos outros frames de acordo com o botão clicado. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta errado a adicao do event.

 

bt.addEventListener(MouseEvent.CLICK,function);

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta errado a adicao do event.

 

bt.addEventListener(MouseEvent.CLICK,function);

Abs

 

Ainda não entendi, no caso esse bt. eu devo colocar como? Se cada botão tem seu nome de instância diferente, por exemplo ficaria

 

home.bt.addEventListener(MouseEvent.CLICK,function); ?

 

ou

 

home.addEventListener(MouseEvent.CLICK,function); ?

 

 

Esse código eu consegui em uma revista especializada, mas que como eu já percebi está errado, pois segui o passo a passo perfeitamente, tenho experiencia em outras linguagens por isso programação pra mim não é um bixo de 7 cabeças, mas no action script 3.0 ainda sou muito leigo. Poderia me mostrar o código correto? Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a segunda forma é a correta.

 

Exemplo tenho um botao chamado teste.

 

teste.addEventListener(MouseEvent.CLICK, helloWorld);

function helloWorld(e:MouseEvent):void{

trace("Meu primeiro Hello World em actionscript usando MouseEvents");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por incrível que pareça não funcionou, eu devo estar fazendo alguma coisa mais de errado. Será que alguem poderia me ensinar o seguinte. Um código simples para que eu possa me basear tipo.

 

 

Vou fazer 2 frames cada um com um conteúdo e colocar um botão no primeiro que deve levar ao segundo quando clicado. que código devo usar?

Alguem por favor me mostre isso para action script 3.0, que enquando me respondem vou reinstalar meu Flash que até já estou desconfiado dele hehe, não pode algo tão simples não funcionar com a quantidade de códigos e tentativas que já fiz, já estou até assustado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo simples, com 3 botões, sem target:

 

stop();

home_btn.addEventListener(MouseEvent.CLICK, gotoHome);
empresa_btn.addEventListener(MouseEvent.CLICK, gotoEmpresa);
contato_btn.addEventListener(MouseEvent.CLICK, gotoContato);

function gotoHome(me:MouseEvent):void
{
	gotoAndStop(1);
}

function gotoEmpresa(me:MouseEvent):void
{
	gotoAndStop(2);
}

function gotoContato(me:MouseEvent):void
{
	gotoAndStop(3);
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

DEIXA EU APROVEITAR O CÓDIGO

 

Um exemplo simples, com 3 botões, sem target:

 

stop();

home_btn.addEventListener(MouseEvent.CLICK, gotoHome);
empresa_btn.addEventListener(MouseEvent.CLICK, gotoEmpresa);
contato_btn.addEventListener(MouseEvent.CLICK, gotoContato);

function gotoHome(me:MouseEvent):void
{

GOSTARIA DE SABER COMO Q FAZ PARA COMEÇAR DE UM FRAME ATÉ OUTRO FRAME, TEM COMO?


	gotoAndPlay(1);
        ATÉ
        gotoAndStop(20);

}

function gotoEmpresa(me:MouseEvent):void
{
	gotoAndStop(2);
}

function gotoContato(me:MouseEvent):void
{
	gotoAndStop(3);
}

Abraços

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fica assim:

 

 

No frame 1:

 

stop();

function gotoHome(me:MouseEvent):void
{
        gotoAndPlay(1);
}

No frame 20:

 

stop();

function gotoEmpresa(me:MouseEvent):void
{
        gotoAndPlay(20);
}

 

E assim por diante.

 

 

Apenas observe em não usar isso indefinidamente, em um determinado ponto o Flash se perde com esse tipo de navegação.

 

 

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.