Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viniciusfroner

[ActionScript3.0] botão que faz aparecer e desaparecer.

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vou postar aqui para vocês verem mais ou menos como eu fiz o code, mas mesmo assim não está funcionando..

movieClip_1.addEventListener(MouseEvent.CLICK, fl_MouseClick);

import fl.display.loading;

var loading:ProLoader;

var load:Boolean = true;

function fl_MouseClick(event:MouseEvent):void

{

trace("Mouse clicado");

if(load)

{

loading = new load();

loading.load(new URLRequest(".../img/lampada_acesa.png"));

addChild(fl_MouseClick);

}

else

{

loading.unload();

removeChild(loading);

loading = null;

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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});
		}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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();
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.