Jump to content
  • 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

Recommended Posts

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? :)

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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 :)

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
Scorpion_Blood

se ta a dar esse erro é porque já se trata de outro assunto, na frame 40 é onde ta o uiloader? ou ta logo no inicio da timeline?

faz assim zipa aí o que tens e mete aí pode ser que te ajude mais pormenorizadamente :P

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.