kipaks 0 Denunciar post Postado Novembro 6, 2009 Olá pessoal! Estou precisando de uma ajudinha no Flash.. é o seguinte: eu tentei montar por conta própria um menu drop-down... o que acontece é que depois de passar o mouse em cima do link ele não some! já tentei usar "on rollout + gotoAndplay" mas não funciona... estou disponibilizando o .FLA para tentar me ajudar! Obrigado!! LINK DO .FLA --- Estou editando.. mas é só pra falar o seguinte: eu não preciso dizer que já procurei em outros lugares né? Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 6, 2009 Crie um mc do tamanho do palco (ou do seu menu) e coloque nele a ação de onRollOver -> nesta ação, oculte as opções do drop-down. Compartilhar este post Link para o post Compartilhar em outros sites
kipaks 0 Denunciar post Postado Novembro 6, 2009 desculpe, mas não entendi... __ não tem como voce me dar um exemplo no .fla? por favor Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 6, 2009 Ok. Para ficar mais fácil de explicar, como você fez o menu drop-down? Você carrega as opções (botões de menu e/ou links) através de um for ou como? Pois a idéia é usar exatamente o evento contrário ao que foi criado para fazer os botões (links) aparecerem. Quando você passa o mouse num opção (onRollOver) ela exibe os links daquela opção, certo? Criando um movieclip que fique "atrás" de todo o conteúdo do menu (exceto do background, se for o caso), você atribuirá a ele a mesma característica de um botão, porém, será um objeto invisível ao usuário, quando o mouse passar sobre este movieclip (evento onRollOver), ele fará com que os links desapareçam da tela. Para que este movieclip não fique com a "mãozinha de link" aparecendo, vocẽ usa: nome_de_instancia_do_movieclip.useHandCursor = false; Entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 6, 2009 Ok. Faça o seguinte: Abra um novo doc flash; crie um retângulo ou quadrado do tamanho do palco, converta-o para movieclip e instancie-o de fundo. Crie um retângulo de 100x30, converta-o para movieclip e instancie-o de bb (marque a opção de "export for action script") Deixe ele no palco, em x=0, y=0 e crtl+c ctrl+v var total_bts = 5; var mc:MovieClip; bt.onRelease = function(){ duplica(); } fundo.onRollOver = function(){ remover(); } fundo.useHandCursor = false; function remover(){ for (i = 0; i< total_bts; i++){ this["m"+i].removeMovieClip(this); trace(i); } } function duplica(){ for (i = 0; i< total_bts; i++){ mc = this.createEmptyMovieClip("m"+i, i+5); mc.attachMovie("bb", "m"+i, i+5); mc._x = 0 mc._y = 30*(i+1);; mc.nome = 'botao '+i; } } Este é um exemplo básico, sem links funcionando. Apenas para mostrar uma das formas de se fazer isso. abs; Compartilhar este post Link para o post Compartilhar em outros sites
kipaks 0 Denunciar post Postado Novembro 6, 2009 entender eu entendi.. quer dizer, mais ou menos.. rsrs mas quanto ao .fla, não tem como arrumar ele? cara, desculpe.. mas ainda não entendi Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 6, 2009 Então poste o seu código. Compartilhar este post Link para o post Compartilhar em outros sites
kipaks 0 Denunciar post Postado Novembro 6, 2009 eu estou trabalhando o dropdown diferente, eles são movieclips que aparecem quando se passa o mouse. beeeeeeem simples, simples demais.. mas é o suficiente para mim.. por favor, dê uma olhada no .fla Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 6, 2009 Não pude abrir seu .fla (provavelmente não é a mesma versão que uso - Flash8) por isso pedi para postar o código e não o arquivo .fla. Suponhamos que seu menu seja assim: *lembrando que todo nome abaixo (menu, sub_menu, etc) são instâncias de movieclip - Botões principais: menu1 | menu2 - Links (sub-menus) que abrem quando passar o mouse sobre os botões (menus) principais: link1_menu1 | link1_menu2 link2_menu1 | link2_menu2 - Ações para colocar no palco (dentro de um frame) // função que oculta todos os links function esconder(){ link1_menu1._visible = false; link1_menu2._visible = false; link2_menu1._visible = false; link2_menu2._visible = false; } esconder(); //inicio o documento ocultando os links menu1.onRollOver = function(){ mostrar(); } // faça o mesmo para menu2 e crie uma nova função para mostrar os links deste botão function mostrar(){ link1_menu1._visible = true; link1_menu2._visible = true; } // aqui é o movieclip que eu falei. Uma área com alfa 0 e numa layer abaixo de todas as outras do menu. // quando o usuário "tirar" o mouse de alguma opçao de botão, obviamente ele vai passar com o mouse sobre o "falso palco" que é este // movieclip fundo, que chamará a função de esconder os links fundo.onRollOver = function(){ esconder(); } Compreendeu agora como funciona? Compartilhar este post Link para o post Compartilhar em outros sites
kipaks 0 Denunciar post Postado Novembro 6, 2009 Entender eu acho que entendi sim cara.. Antes de mais nada, muito obrigado pela ajuda! De verdade mesmo. No entanto, peço que dê uma olhada no .FLA, estou hospedando outro agora versao .8 E eu te explico o porque: - eu acredito que o meu problema seja muito facil de resolver do jeito que eu montei o drop... - estou precisando disso o mais rapido possivel e to um pouco sem tempo pra estudar o drop com as com profundidade link do .fla Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 7, 2009 Olhei seu código e te aconselho a fazer o seguinte (para facilitar as coisas para você não ter que refazer todo o trabalho): 1. Crie um movieclip do tamanho do seu palco e instancie como "fd". Coloque este movieclip na mesma cor do fundo (no caso, branco) e posicione-o em x=0, y=0. Ou seja, ocupando todo o palco principal. Coloque-o numa layer abaixo da atual. 2. Instancie o seu menu (o que carrega todos os botões dentro dele) como "menu" 3. Entre dentro de menu. Instancie o botão com título bolos de "bolos" insira o código abaixo no primeiro frame do palco principal e veja o que acontece: fd.onRollOver = function(){ menu.bolos.gotoAndStop(1); } Esta é a mesma lógica que te passei no post acima, o que mudam são os comandos (antes era propriedade visible, agora, é na animação via timeline). Uma rápida explicação do código para que você entenda. Quando você passa o mouse sobre bolos, não há o comando gotoAndPlay() para fazer a animação rodar? A animação continua depois de animar o botão bolos e anima o sub-menu sabores, certo? O movieclip "fd" faz o "rewind" da animação. Quando o mouse passar fora dos botões, ele estará - obrigatoriamente, passando pela área "vazia" do palco, que na verdade é o mc "fd" que manda um comando para o menu voltar a animação para o frame1 e ficar lá parado (gotoAndStop) Algumas dicas para seus próximos trabalhos: Evite de colocar ações de on release, rollover, rollout,etc diretamente dentro dos botões(a não ser em casos bem específicos). Seu código ficará mais fácil de entender se todas as actions estiverem no palco. Trabalhe sempre com instâncias. Pois é através delas que as actions funcionam. Evite colocar muitos objetos uns dentro dos outros e objetos agrupados(a não ser, também, em casos bem específicos). abs; Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Novembro 9, 2009 Olhei o seu arquivo. Você deseja que ao passar o mouse sobre um item do menu, ocorra a rolagem de uma "caixa" com um link para clicar, e ao retirar o mouse, seja recolhido. Por favor, especifique qual a versão do action que irá usar. Isso não é feito apenas com um "stop" e uma tween. Compartilhar este post Link para o post Compartilhar em outros sites