sábado, 26 de janeiro de 2008

Tutorial Flash: Colisão de círculo para círculo

Comece um arquivo novo, e crie um movieclip, o tamanho dele É IMPORTANTE!
Deve ser de 100x100, depois explico porque, até lá, crie um círcuo no stage, selecione, dê um ctr+F3 para abrir o painel de propriedades, e clique na setinha para baixo no canto de baixo direito:
(image com corte no meio para preservar o tamanho da mesma)
(é aconselhável usar linhas finas ou não usar linhas)











Se lembra do script do drag? Se não, olhe neste último post, alí tem um script de drag, copie ele, dê dois cliques no movieclip da bolinha, descelecione o desenho (clicando fora do desenho), dê um F9 para abrir o painel de scripts e cola lá, se tudo ocorrer bem, você terá algo como isso:



Pronto? Não! É claro que não! Falta o script de deteção de colisão!

Nomeie os dois movieclips no root, no ultimo post também esplica como, depois vá no root, abra o painel de scripts e coloque isso: (script comentado)

onEnterFrame = function(){
dx = b1._x-b2._x; //Distância horizontal entre as bolas
dy = b1._y-b2._y; //Distância vertical entre as bolas
l.clear();
a = b1;
b = b2;
distance = Math.sqrt((dx * dx) + (dy*dy));
if(distance < (50+50))//Soma dos raios das bolas é 50+50
{
l.lineStyle(4,0xFF0000,100); // Prepara a linha
l.moveTo(b1._x,b1._y); // Move a lina para o círculo 1
l.lineTo(b2._x,b2._y); // Desenha a linha té o círculo 2
}
}

E isso deve dar nisso daqui:



Até mais =D


Gostou? Baixe o source: Link

Nenhum comentário: