Eu sempre quis que o meu computador fosse tão fácil de usar como o meu telefone, o meu desejo foi realizado pois eu já não consigo descobrir como usar o meu telefone.

Criando um Jogo de Arrastar e Soltar (Drag and Drop) no Flash AS3

Neste tutorial vamos criar um jogo tipo aqueles de arrastar e soltar, o famoso Drag and Drop.
Estarei postando aqui os arquivos necessários, código as3 e a video aula.

 

Usei Flash CS3 com AS3.

iremos ultilizar 3 imagens apenas:

 Abaixo o código am as3:

stop();
//Habilitando o mode botão para os peixes
peixe1.buttonMode = true;
peixe2.buttonMode = true;

//Criando variáveis dentro do peixe para guardar em qual objeto ele vai grudar.
peixe1.mc_grude = grude1;
peixe2.mc_grude = grude2;

//Criando variáveis para guardar a localização inicial dos peixes.
peixe1.xx = peixe1.x;
peixe1.yy = peixe1.y;
peixe2.xx = peixe2.x;
peixe2.yy = peixe2.y;

//Criando evento Drag que faz o peixe ser capturado ao clicar com o botão esquerdo do mouse.
peixe1.addEventListener(MouseEvent.MOUSE_DOWN,clicou_no_peixe);
peixe2.addEventListener(MouseEvent.MOUSE_DOWN,clicou_no_peixe);

//Função de quando o peixe é clicado
function clicou_no_peixe(e:MouseEvent){
	//Este comando inicia o Drag
	e.target.startDrag();
	//Deixar o objeto clicado sempre por cima dos demais.
	MovieClip(root).setChildIndex(MovieClip(e.target),MovieClip(root).numChildren-1);

};

//Criando Evento que faz o objeto ser solto
peixe1.addEventListener(MouseEvent.CLICK,soltou_peixe);
peixe2.addEventListener(MouseEvent.CLICK,soltou_peixe);

//Função que solta o peixe
function soltou_peixe(e:MouseEvent){
	//Este comando solta o objeto
	e.target.stopDrag();
	//Testar se foi solto em lugar válido
	testa(MovieClip(e.target));

}

//Função que irá testar se o peixe colidiu no objeto correto, caso não ele deverá voltar para seu lugar de origem.
function testa(peixe:MovieClip){
	//Variável peixe receberá o objeto que foi soltado
	if(peixe.hitTestObject(peixe.mc_grude)){
		//Caso colidiu corretamente centraliza o peixe com o grude.
		peixe.x = peixe.mc_grude.x;
		peixe.y = peixe.mc_grude.y;

	}else{
		//se não colidiu volta para posição original
		peixe.x = peixe.xx;
		peixe.y = peixe.yy;

	}
}

Arquivo fla para download:
http://www.reissoft.com.br/va/DragDrop800x600/DragDrp_cs3.fla
link para Video Aula
http://www.reissoft.com.br/va/DragDrop800x600/

6 Respostas

  1. jacson

    Sou iniciante e o compilador diz que tem caracteres extras, no ponto 03.

    25/04/2011 às 0:41

    • Olá, vc poderia colocar a mensagem completa do erro?
      Você está usando As3 ou As2?

      25/04/2011 às 16:34

  2. Camila

    O link não funciona!
    Vc poderia verificar, por favor?

    01/07/2011 às 20:06

  3. blavidor

    cara seu link esta fora do ar

    28/09/2011 às 23:13

  4. danilo

    Os links não funcionam !

    25/11/2011 às 18:12

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s