Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

FabioM

Problemas a desenvolver um menu,AS3

Mensagens Recomendadas

FabioM

Boas a todos.

Estou neste momento a tentar desenvolver um menu em que ao carregar num botão do menu o seu conteudo apareçe numa janela ao centro da página só que quando publico dá-me dois erros.

Ora eu criei um MC ao qual dei o nome de mc_cortina que contêm a animação dessa janela a apareçer só que não consigo fazer com que resulte.

Tenho o seguinte codigo

//função mc_cortina para o 1º link
function bt_eol(e:Event) {
mc_conteudo.gotoAndStop(40);
mc_conteudo.source="Conteudos/eolica.doc";
}

bt_eol.addEventListener(MouseEvent.CLICK,bt_eol);

O mc_conteudo é o instance name do mc_cortina em que eu quero carregar o ficheiro eolica.doc nesta cortina. Pus gotoAndStop na frame 40 porque quero fazer apareçer o conteudo lá mas tenho dois erros na linha 2 onde começa a function:

- Incompatible override

- Duplicate function definition

Talvez esteja a complicar demasiado quando simplesmente quero uma janela que apareça com conteudo correspondente ao link acedido. Já vi isto em vários sites e pareçe tão simples de fazer.

Alguem pode dar uma ajudinha? :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Esse conteúdo vai sofrer alterações, frequentemente?

Se não, fazes uma programação no botão tipo:

on (release) {
gotoAndPlay (X) 
}

Em que na keyframe X, tens o quadrado com o conteúdo (fazes copy/paste) lá dentro.

Claro, isto se for algo que não sofra alterações de conteúdo com frequencia.

espero ter ajudado

Fica bem

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Scorpion_Blood

antes de mais esses mete aí o codigo todo :cheesygrin:

duplicate function def. tens duas funções com o mesmo nome, faz um search ao codigo e verifica isso.

em relação ao incompatible override tenho que ver o codigo todo, anyway esses erros por norma dizem em k linha está a acontecer o erro ou em que função. Mete aí o texto todo do erro sff :)

Filipe_O o código que deste é em AS2 :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

Filipe_O o conteudo não vai sofrer alterações mas queria fazer algo semelhante ao que aprendi nas aulas porque se fizesse dessa maneira era penalizado.

Scorpion_Blood estas são as unicas linhas de codigo que fiz :)

È que fiz algo parecido nas aulas em que tinha 3 botões como menu. Uma das páginas era "Imagens" e nessa página tinha 3 UILoader que continham uma imagem cada um,ao carregar em cada imagem estas puxavam uma janela que descia com um efeito de cortina e que fazia apareçer cada imagem com esse feito,janela essa que era o mc_cortina

O codigo é este:

//função mc_cortina para 1a imagem
function img1(e:Event) {
mc_imagens.gotoAndStop(2);
mc_imagens.contentor.source="imagens/_img1.jpg";
mc_imagens.contentor.scaleContent=false;
}

bt_img1.addEventListener(MouseEvent.CLICK,img1);




//função mc_cortina para 2a imagem
function img2(e:Event) {
mc_imagens.gotoAndStop(2);
mc_imagens.contentor.source="imagens/_img2.jpg";
mc_imagens.contentor.scaleContent=false;
}

bt_img2.addEventListener(MouseEvent.CLICK,img2);

//função mc_cortina para 3a imagem
function img3(e:Event) {
mc_imagens.gotoAndStop(2);
mc_imagens.contentor.source="imagens/_img3.jpg";
mc_imagens.contentor.scaleContent=false;
}
bt_img3.addEventListener(MouseEvent.CLICK,img3);

bt_img1,bt_img2 e bt_img3 são o instance name de cada UILoader.

mc_imagens era o instance name do mc_cortina

contentor é um UILoader que está dentro do mc_cortina que faz com que vá buscar cada imagem.

Ora sabendo que eu tenho uma página inicial com um menu de 5 botões como faço eu para apareçer uma janela com o conteudo correspondente a cada link?

Já andei aqui ás voltas com os UILoader,já tentei fazer uma coisa semelhante ao que demonstrei acima mas tenho sempre erros. :wallbash:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Scorpion_Blood

tas ai a fazer alguma confusao ora deixa la se entendi:

tens 3 butões [bt_img1], [bt_img2], [bt_img3] (n sei pk são instances de UILoaders como disseste)

depois tens um MC (mc_cortina) e dentro deste mc tem uma animação. Digamos que na timeline vai de 2 a 10 (o que é que tens na frame 0?)

quando carregas no bt_img1, activa a animação que ta na mc_cortina (gotoAndPlay(2)) e vai até a frame 10 (n te esqueças de meter um stop() na frame 10), entretanto o UILoader já está a carregar a imagem que chamaste, é isso que tas a fazer? lol

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

È isso mesmo o mc_cortina mas na frame 0 não tenho nada,tenho stop(); na frame 1. A animação vai depois da frame 2 á 10 e na frame 11 um stop(); outra vez.

Mas isto foi noutro projecto que fiz e que quero agora transportar para este mas sem resultados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

Já começo a desesperar.

Pus um UILoader na frame 40 e criei uma layer com o codigo abaixo:

//função mc_cortina para 1a imagem
function eolica(e:Event) {
mc_conteudo.gotoAndStop(40);
mc_conteudo.contentor.source="Conteudos/eolica.doc";

}

bt_eol.addEventListener(MouseEvent.CLICK,eolica);

O bt_eol é o botão do menu ao qual quero despoletar a acção.

O mc_conteudo é o tal movie clip da cortina e o contentor é um UILoader inserido dentro do mc_conteudo.

Sò que apareçe-me este erro:

Error #1009: Cannot access a property or method of a null object reference.

Eu nem fazia um load a um ficheiro .doc,fazia sim uma caixa de texto só que tou só a experimentar para ver se funciona mas tá complicado.

:dontgetit: :P

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Scorpion_Blood

ja vi como tens isso, ta mal estruturado :cheesygrin:

a maneira mais facil de fazeres o que queres é:

---STAGE--- Frame 1

[bTN1],[bTN2],[bTN3],[bTN4],[bTN5]

[MC_CONTAINER]

--• [uILOADER] (dentro do container)

-----------------------

agora na frame 1 metes o codigo que queres e vais ver k vai funcionar :P

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

Scorpion_Blood já tou a conseguir  :cheesygrin: mas ainda não tá como quero.

Ainda só tou a testar o que me disses-te com um botão (bt3) só que a minha cortina não faz o efeito desejado ou seja o conteudo a apareçer conforme a animação que fiz no mc_cortina que é um efeito tween de cima para baixo (como se fosse a baixar os estores). Testei o conteudo com uma imagem mas quando carrego no botão a imagem apareçe na totalidade e não com o efeito pretendido.

Quanto ao .doc não funciona tal como disses-te porque o flash deu erro nesse sentido. Agora não sei como vou fazer uma área de conteudos com texto e imagens :P

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

Não mudei nada na animação,inclusivé tenho um stop() no principio e no fim da animação.

Agora tenho mais uma duvida: tenho um botão para regressar ao estado inicial do site sem cortinas nem nada tal como está. Já pus uma label na frame 1 e criei uma linha de codigo:

bt_home.gotoAndStop("home");

O bt_home á o instance do botão e "home" é o nome da label na frame 1 mas não faz o que quero.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FabioM

Ok pessoal,já consegui resolver os problemas com o menu e já está a funcionar mas surgiu mais um pequeno problema relacionado com o conteudo de cada secção.

Ora o conteudo de cada secção irá apareçer numa cortina pelo que pus um scrollPane porque o conteudo irá sobrepor-se ás dimensões deste componente só que mesmo que tenha as opções HorizontalScroll e VerticalScroll em auto não mostra o conteudo todo.

AGora que tava quase a acabar o trabalho acontece isto.

Cá vai um novo .fla:

http://rapidshare.com/files/394111521/Trabalho4.rar.html

Se puderem ajudar agradecia. :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.