2

Detector de colisão em AS3

Posted by Eduardo Brito on 06:09
E ai galera, beleza?
Bem neste tutorial nós vamos fazer um simples detector de colisões no flash com AS3 (ActionScript 3.0) .
Então vamos começar?!

1.Abra um novo arquivo no flash e escolha AS3.

2.Nesse tutorial nós não vamos usar “class”, mesmo porque sem class é bem mais simples, então não desenhe nada no documento, e ma 1° frame da timeline pressione F9para abrir as ações e digite a seguinte ação (para adicionar os círculos):


var circ1:MovieClip=new MovieClip();
circ1.x=275;
circ1.y=200;


3.Até agora vc não deve ver nada, porque criamos apenas um movieclip vázio, então para adicionar o circulo abaixo desse código faça esse:



addChild(circ1);




var circle1r:uint=new uint(20);
circ1.graphics.beginFill(0xFF0000);
circ1.graphics.drawEllipse(-circle1r,-circle1r,circle1r*2,circle1r*2);
circ1.alpha=.5;


4.agora se vê um circulo no centro, mas nada.
agora para fazer um objeto que colida com ele nós vamos fazer outro circulo, para isto abaixo do código faça esse:

var vx:int=new int();//"velocity-x"
var vy:int=new int();//velocity-y
var len:int=new int();//Distance/Length
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouse_move);//Adds mouse event listener
function mouse_move(event:MouseEvent):void {//The function for it.
circ2.x=mouseX;
circ2.y=mouseY;
vx=circ1.x-circ2.x;//Calculates velocity x
vy=circ1.y-circ2.y;//Calculates velocity y
len=Math.sqrt(vx*vx+vy*vy);//sees the length.
if (len circ1.alpha=1;//Putting the alpha to full.
trace("*Collission*");
} else {//else not.
circ1.alpha=.5;//half of the alpha.
}
}
5. agora nós faremos ele seguir o mouse

var circ2:MovieClip=new MovieClip();
var circle2r:uint=new uint(30);
circ2.graphics.beginFill(0x00FF00);
circ2.graphics.drawEllipse(-circle2r,-circle2r,circle2r*2,circle2r*2);
addChild(circ2);

até a próxima! fonte: http://boxmonster.890m.com/wordpress/?m=200811


6. o final ficaria assim:

DOWNLOAD


Copyright © 2009 .:EBL Design:. All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive. Distribuído por Templates