baigou 0 Denunciar post Postado Fevereiro 2, 2015 Boa noite users, estou com uma pequena dúvida diante de ações que serão efetuadas com o uso de um botão. Criei um botão e utilizei o seguinte comando: cima.addEventListener(MouseEvent.CLICK, ircima); function ircima(event:MouseEvent):void { personagem.rotation = 0; personagem.y -= velocidade; personagem.y -= 5; } Porém depois me dei conta que não é exatamente o que eu preciso, o que eu precisava era que enquanto eu estivesse apertando o botão, ele fazer a ação. E obviamente, quando eu soltar ele parar. Mas o uso atual está sendo de CLICK, conforme eu for clicando ele vai andando, alguém poderia me dizer como eu poderia fazer da forma que citei? (Enquanto estiver pressionando a tecla, ir efetuando a função). Grato! Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Fevereiro 2, 2015 As outras opções ao "CLICK" seriam "MOUSE_UP" e "MOUSE_DOWN", mas não serviria no seu caso, pois executaria a função ou ao clicar ou ao soltar então, imagino que você deva associar a propriedade "buttonDown" (boolean) a um evento "ENTER_FRAME" que é uma espécie de loop... Em outras palavras, a função (ircima) seria executada enquanto pressionado o botão, pois qdo soltar, mudaria a condição da propriedade "buttonDown" e sairia do "ENTER_FRAME" encerrando a função. Att. Pra quem está um bom tempo sem mexer com Flash até que não passei longe na sugestão acima, resolvi brincar um pouquinho e cheguei ao resultado abaixo, atende a sua necessidade mas provavelmente deve existir soluções melhores e mais elegantes, de qualquer forma alguem com mais conhecimento pode se manifestar. cima.addEventListener(MouseEvent.MOUSE_DOWN, ircima);function ircima(evt:MouseEvent):void { stage.addEventListener(MouseEvent.MOUSE_UP, ircimaStop); addEventListener(Event.ENTER_FRAME, ircimaLoop); function ircimaLoop(evt:Event):void { //insira aqui os códigos do movimento; } function ircimaStop(evt:Event):void { removeEventListener(Event.ENTER_FRAME, ircimaLoop); }} Explicando: Criamos a função "ircima" declarada no evento "MOUSE_DOWN" (pressionar o botao), dentro desta mais duas funções, uma para criar o "ENTER_FRAME" (como disse uma espécie de loop) e outra para interromper este "loop", justamente quando soltar o botão (MOUSE_UP), neste caso em qualquer área do palco. Att. Compartilhar este post Link para o post Compartilhar em outros sites
baigou 0 Denunciar post Postado Fevereiro 2, 2015 Obrigado, estarei testando e postarei o resultado aqui. :) Compartilhar este post Link para o post Compartilhar em outros sites