fazatuagora 0 Denunciar post Postado Maio 3, 2010 Ola pessoal, tou aqui com um pepino que nao sei como resolver...eu criei um menu com botoes, todos feitos atraves de movieclips...nas labels de cada um deles pus o over e o out. A minha duvida e a seguinte...eu keria q cada vez q clico nele, ele ficasse parado mas cada x q tiro ele, ele faz a funçao out e eu nao keria. tenho este codigo inserido... menu_mc.flayabtn_mc.onRollOver = function(){ menu_mc.flayabtn_mc.gotoAndPlay("_over"); } menu_mc.flayabtn_mc.onRollOut = function(){ menu_mc.flayabtn_mc.gotoAndPlay("_out"); } como faço para q ao clicar no botao e ao tirar o mouse de cima, ele fike estagnado na ultima frame da animaçao over e ele n faça rollout? Obrigado pessoal Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Maio 3, 2010 Ola pessoal, tou aqui com um pepino que nao sei como resolver...eu criei um menu com botoes, todos feitos atraves de movieclips...nas labels de cada um deles pus o over e o out. A minha duvida e a seguinte...eu keria q cada vez q clico nele, ele ficasse parado mas cada x q tiro ele, ele faz a funçao out e eu nao keria. tenho este codigo inserido... menu_mc.flayabtn_mc.onRollOver = function(){ menu_mc.flayabtn_mc.gotoAndPlay("_over"); } menu_mc.flayabtn_mc.onRollOut = function(){ menu_mc.flayabtn_mc.gotoAndPlay("_out"); } como faço para q ao clicar no botao e ao tirar o mouse de cima, ele fike estagnado na ultima frame da animaçao over e ele n faça rollout? Obrigado pessoal Olá fazatuagora (que nick diferente!) rs... Vou te explicar de uma forma genérica, entendendo você tira isso de letra... seguinte... isso você deve ter feito: no rollOver = MC vai para o frame 2; no rollOut = MC vai para o frame 1; Agora para fazer o que está querendo você precisaria inserir um frame a mais (mesmo que o frame 3 seja igual ao frame 2), assim: no rollOver = Se o frame atual não for o frame 3, MC vai para o frame 2; no rollOut = Se o frame atual não for o frame 3, MC vai para o frame 1; no release = Se o frame atual for o frame 2, MC vai para o frame 3; Deu pra entender?! acho que dá né!? qualquer coisa posta ae! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Maio 4, 2010 Ao invés de utilizar o "gotoAndPlay", não seria o caso do "gotoAndStop" ?? Att. Compartilhar este post Link para o post Compartilhar em outros sites
fazatuagora 0 Denunciar post Postado Maio 4, 2010 Na 1a resposta nao e assim tao facil, pois ´cada vez q retiro o rato de cima do botao ele faz a acçao de rollore mm q clike nele, creio que tenho que fazer uma variavel e nao estou a ver como fazer... Na 2a resposta, se lhe troco o gotoAndPlay por gotoAndStop, a animaçao criada na label para logo na 1a frame dessa label e nao e isso que kero...eu tenho tudo a funcionar bem, o unico problema e que kero q ao carregar no botao ele fique parado de forma a que possa retirar o rato e ele nao me faça a funçao rollout....este e o meu problema Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Maio 4, 2010 Sim, o "gotoAndStop" mas no evento "Press" e quando isso ocorrer, desabilitar os outros eventos para o botão em questão... Mas lembre-se que deverá criar uma série de condições em todos os botões para verificar qual deles está ativo (foi clicado) e permanecer em "_over", e os inativos (não clicados) no frame "_out" habilitando os eventos para estes... Att. Compartilhar este post Link para o post Compartilhar em outros sites
fazatuagora 0 Denunciar post Postado Maio 4, 2010 Tens mail para te passar o ficheiro ou msn? Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Maio 4, 2010 Veja um exemplo pressupondo que todos os seus botões contém a mesma animação (labels) e instanciandos como "bt1, bt2, bt3, etc..." Você teria que criar as ações out, over e press para cada e em cada ação, determinar ações para os outros: // Actions primeiro botao bt1.onRollOver = function(){ bt1.gotoAndStop("_over"); } bt1.onRollOut = function(){ bt1.gotoAndStop("_out"); } bt1.onPress = function(){ bt1.gotoAndStop("_over"); bt2.gotoAndStop("_out"); bt3.gotoAndStop("_out"); bt1.enabled = false; bt2.enabled = true; bt3.enabled = true; } // Actions segundo botao bt2.onRollOver = function(){ bt2.gotoAndStop("_over"); } bt2.onRollOut = function(){ bt2.gotoAndStop("_out"); } bt2.onPress = function(){ bt1.gotoAndStop("_out"); bt2.gotoAndStop("_over"); bt3.gotoAndStop("_out"); bt1.enabled = true; bt2.enabled = false; bt3.enabled = true; } // Actions terceiro botao bt3.onRollOver = function(){ bt3.gotoAndStop("_over"); } bt3.onRollOut = function(){ bt3.gotoAndStop("_out"); } bt3.onPress = function(){ bt1.gotoAndStop("_out"); bt2.gotoAndStop("_out"); bt3.gotoAndStop("_over"); bt1.enabled = true; bt2.enabled = true; bt3.enabled = false; } // E assim para todos os outros botoes Esta seria uma forma mais trabalhosa porém mais simples para o compreendimento pois em cada ação "press", você tem que definir ações para os outros botões, desabilitar o atual e habilitar os outros. Poderia criar apenas um botão e duplicá-los dinamicamente assim como as ações utilizando um Array e laço de repetição, mas isso é outra etapa, primeiro tente compreender o exemplo acima. Att. Compartilhar este post Link para o post Compartilhar em outros sites
fazatuagora 0 Denunciar post Postado Maio 5, 2010 compreendi, se tiver duvida depois digo-te algo obrigadao Funcionou, no entanto tenho uma duvida...qd faço o out ele faz toda a animaçao out nos botoes ao mm tempo...se eu tiver no btn1 e clicar no btn2 o btn1 faz a animaçao out e o btn3 tambem... Tem como controlar isso? Boas, antes de mais obrigado pela ajuda. Compreendi a lógica e pus tudo a funcionar, no entanto reparei numa coisa que nao sei se terá resoluçao. A animaçao de cada botao e uma barra que aumenta no rollover e faz a animaçao inversa no rollout. Cada vez que tenho um botao estagnado na funçao press e vou para outro botao, nao so o que tinha selecionado faz a animaçao de rollout, como os outros 3 fazem a mesma animaçao. Havera forma de so o botao que estava selecionado fazer essa animaçao "_out" ? Uma vez mais obrigado ao public 2004 e aos outros que tentaram ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Maio 5, 2010 Ah colega, imaginei que teus botões tivessem apenas 2 frames, sendo com animação complica pois pode bugar ao passar o mouse rápido sobre eles, fora as animações indesejadas que mencionou... É possível fazer o que quer, mas já seria um processo mais elaborado e deve ter um conhecimento maior sobre AS. Seria definir um Array com os itens dos seus botões (instancias e ações), criar uma função para não bugar as animações (over e out) verificando o frame atual da animação e avançar ou retroagir de acordo com o evento. E através de um laço de repetição (loop for) percorrer os itens do Array e montar as ações respectivas de cada botão, e ainda deverá guardar sempre o valor do botão clicado para desabilitá-lo e habilitá-lo quando clicar em outro (verificação em cada clique). Complicado não é? Mas se quiser encarar o desafio de aprender, estaremos aqui para colaborar no que for possível, vá pesquisando pelas dicas e nos mostrando o que está fazendo. Att. Compartilhar este post Link para o post Compartilhar em outros sites
fazatuagora 0 Denunciar post Postado Maio 7, 2010 Boas pessoal, mais uma vez agradeço a todos que me tentaram ajudar. Consegui apos alguns dias de estudo e tentativa/erro resolver este quebra cabeças...depois de um certo habito, acaba por se tornar mais facil ate a escrever o codigo. Dessa forma deixo aqui o meu codigo para tentarem perceber a simplicidade da coisa. Como eu disse, tinha 4 movieclips botoes e dentro de cada movieclip tinha 4 labels criadas e 2 animaçoes. A 1a label eu pus o nome up(so para me guiar) a 2a eu pus como over (onde fazia a animaçao de rollover com uma barra a passar no botao). Como eu keria que ao clicar no botao ele ficasse parado na ultima frame da animaçao over eu criei a label down. e por ultimo eu criei a label out ( com a animaçao contraria a da label over). Criei como me disseram aki no forum o codigo, mas deparei-me com um problema, cada vez q estava no estado down de um botao e carregava nouto, todos os botoes faziam a mesma animaçao out ao mesmo tempo, coisa que nao queria. Apos tutoriais aqui na net, decidi aprender a criar functions e foi dessa maneira q resolvi o meu problema. Vou entao por aqui o codigo para verem, creio que o entendimento e facil. Obrigado a todos e um especial ao public que dentro de todo este processo foi o que me fez chegar mais perto do que eu queria //BOTOES //---------Funçoes dos Botoes---------\\ function rollover(movieName) { if (currentPage != movieName) { eval(movieName).gotoAndPlay("over"); } } function rollout(movieName) { if (currentPage != movieName) { eval(movieName).gotoAndPlay("out"); } } function stick(movieName) { if (currentPage != movieName) { eval(currentPage).gotoAndPlay("out"); } currentPage = movieName; eval(currentPage).gotoAndStop("down"); } //empresa btnempresa.onRollOver = function () { rollover("btnempresa"); } btnempresa.onRollOut = function () { rollout("btnempresa"); } btnempresa.onRelease = function() { //mcLoader.loadClip("about.swf",myLoader); stick("btnempresa"); } Compartilhar este post Link para o post Compartilhar em outros sites