Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom tenho uma duvida, é o seguinte quero, fazer uma lâmpada e um interruptor, a questão é que necessito de um code para quando clicar no interruptor ele faça com que a lampada acenda e após o segundo clique faça com que ela apague.. Alguém sabe como posso fazer isso?
Obs: tentei fazer por "event" mas não deu certo, ele não acende e nem apaga e como estou começando os estudos com AS3 fiquei meio perdido de mais..
Os arquivos inseridos são:
Interruptor_apagado.png
Interruptor_aceso.png
lampada_apagada.png
lampada_acesa.png
exemplo que inverte ao clicar, para dar uma idéia
import com.greensock.*;
var inverteTween:Boolean = true;
btn.addEventListener(MouseEvent.CLICK, _animaTween);
function _animaTween(e:MouseEvent):void{
if(inverteTween)
{
inverteTween = false;
TweenMax.to(ball, 2, {x:400});
}
else if(!inverteTween)
{
inverteTween = true;
TweenMax.to(ball, 2, {x:50});
}
}Ola Elektra, bom eu tentei, tentei e tentei.. Mas não deu muito certo. Pois bem, vou por aqui o link do arquivo editável para ver se alguem pode me dar uma sugestão.
Obs: Limpei o code pois estava muito bagunçado e não sei se tinha feito da maneira correta.
Segue o link do arquivo: http://www.mediafire.com/download/t4l8vxbay4ad075/lampadas.fla
Pois bem, conto com 3 pastas (para efeito de organização mesmo), sendo elas as seguintes:
Botões - É onde ficam as imagens que vou usar como botões
Lâmpada 1 - É onde fica a imagem da lâmpada 1 apagada e outra dela acesa.
Lâmpada 2 - É onde fica a imagem da lâmpada 2 apagada e outra dela acesa.
No grupo de botões existem 3 deles. Um que vai acender e apagar apenas a lâmpada 1, e outro que faz ascênder e apagar apénas a Lampada 2. O outro é um que faz as duas acenderem e apagarem, o qual não tem necessidade de ser feito.
O que quero saber é como faço para que ao clicar no botão 1 a lampada 1 ascenda se tiver apagada ou apague se estiver acesa.
Obrigado pela atenção.
Colega, o exemplo que postei faz examente o que você precisa, é usar uma variável booleana e definir o estado aceso/apagado dentro de uma condicional ao clicar em um botão. Pode substituir a TweenMax(classe de animação) por um "gotoAndStop(2);/gotoAndStop(1);", ou lampada1.visible = true/false que funciona na boa.
Poste o código do que tentou fazer. Se tiver dúvidas, pergunte.
Não baixamos arquivos e entregamos pronto, não assino Flash CC (uso CS6).
Abs
Eu sei que não entregam nenhum tipo de arquivo, postei apenas para vocês terem uma referência..
Eu fiz e talz, mas ele é aplicado em toda time line, como faço para que ele só mude em apenas 1 time line??
function _clicar(e:MouseEvent):void{No caso eu teria que fazer isso??::
private function _clicar(e:MouseEvent):void{
E a função de clicar no caso do exemplo ficaria assim né:
var alterna:Boolean = true;
botão.addEventListener(MouseEvent.CLICK, botao_clicar);
private function botao_clicar(e:MouseEvent):void{
if(botao_clicar)
{
botao_clicar = false;
gotoAndStop(2);
stop;
}
else if(!botao_clicar)
{
inverteTween = false;
gotoAndStop(1);
stop;
}
}
Se eu fizer ele assim estaria errado?:
var alterna:Boolean = true;
botão.addEventListener(MouseEvent.CLICK, botao_clicar);
private function botao_clicar(e:MouseEvent):void{
if(botao_clicar)
{
botao_clicar = false;
nextFrame();
}
else if(!botao_clicar)
{
botao_clicar = false;
prevFrame();
}
}
Bom vou postar aqui para vocês verem mais ou menos como eu fiz o code, mas mesmo assim não está funcionando..
{