The ball not collision to other ball.
I'triyng to collision the ball with other balls.There is a 2 diffrent ball we have.Balls created from the system,and creating by the player.I have only one ball collision.It's not collide with other balls.How can I collide for other circle.

import flash.geom.Point;
var NUMBER_OF_CIRCLES:Number = 2;
var NUMKEKKO:Number = 1;
var circle_array:Array;
var boru_array:Array;
var vector_array:Array;
var mass_array:Array;
var mouseuo:Boolean=false;
var the_kall:kall; //Big ball ( make by player)
var mcKall:boru;
var barz:circle;//
var drag:Boolean=false;
var mcKallCont:MovieClip;
var kao:Number=10;
var kao2:Number=10;
var topisler:Number=2;
var gonzo:Number=0;
var topyap:Boolean=true;
stage.addEventListener(Event.ENTER_FRAME, init);
function init(e:Event){
if(topyap==true){
circle_array = new Array();
vector_array = new Array();
mass_array = new Array();
boru_array = new Array();
for(var i:Number = 0; i < NUMBER_OF_CIRCLES; i++){
circle_array = new circle();
circle_array.width = 25;// circle_array.width = (Math.random() * 50);
circle_array.height = circle_array.width;
circle_array.x = (circle_array.width/2) + (Math.random() * (550 - circle_array.width*(3/2)));
circle_array.y = (circle_array.height/2) + (Math.random() * (400 - circle_array.height*(3/2)));
var new_color:uint = 0x000077 * Math.random();
new_color += 0x000088;
switch(i%3){
case 0:
new_color = new_color << 16;
break;
case 1:
new_color = new_color << 8;
break;
}
//new_color = new_color << 16;
var myColor:ColorTransform = this.transform.colorTransform;
myColor.color = new_color;
circle_array.inner.transform.colorTransform = myColor;
addChild(circle_array);
circle_array.id = i;
vector_array = new Array(Math.random() * 10, Math.random() * 10);
mass_array = circle_array.width * 0.10;
}
}
topyap=false;
stage.addEventListener(Event.ENTER_FRAME, circle_update);
}
function circle_update(e:Event){
for(var i:Number = 0; i < NUMBER_OF_CIRCLES; i++){
circle_array.x += vector_array[0];
circle_array.y += vector_array[1];
//bounding wall collisions
if(circle_array.x + (circle_array.width * 0.50) >= 550){ vector_array[circle_array.id][0] *= -1; circle_array.x = 550 - circle_array.width * 0.50; }
if(circle_array.x - (circle_array.width * 0.50) <= 0){ vector_array[circle_array.id][0] *= -1; circle_array.x = circle_array.width * 0.50; }
if(circle_array.y + (circle_array.width * 0.50) >= 400){ vector_array[circle_array.id][1] *= -1; circle_array.y = 400 - circle_array.height * 0.50; }
if(circle_array.y - (circle_array.width * 0.50) <= 0){ vector_array[circle_array.id][1] *= -1; circle_array.y = circle_array.height * 0.50; }
}
//ball to ball collisions
for(var g:Number = 0; g < NUMBER_OF_CIRCLES; g++){
var g_pos:Point = new Point(circle_array
for(var k:Number = g + 1; k < NUMBER_OF_CIRCLES; k++){
var dist = Point.distance(g_pos, new Point(circle_array
if( dist < ((circle_array
//they're colliding!
//elastic response
var mass1:Number = mass_array
var mass2:Number = mass_array
var mass_sum = mass1 + mass2;
var velX1:Number = vector_array
var velX2:Number = vector_array
var velY1:Number = vector_array
var velY2:Number = vector_array
var new_velX1 = (velX1 * (mass1 - mass2) + (2 * mass2 * velX2)) / mass_sum;
var new_velX2 = (velX2 * (mass2 - mass1) + (2 * mass1 * velX1)) / mass_sum;
var new_velY1 = (velY1 * (mass1 - mass2) + (2 * mass2 * velY2)) / mass_sum;
var new_velY2 = (velY2 * (mass2 - mass1) + (2 * mass1 * velY1)) / mass_sum;
vector_array
vector_array
vector_array
vector_array
circle_array
circle_array
circle_array
circle_array
}
}
}
gonzo=dist;
var kallboyut:Number = the_kall.width +1;
var kallvector:Number = 7;
var ikiarray:Number = 9;
//Kall to ball collisions
for(var s:Number = 0; s < topisler; s++){
var t_pos:Point = new Point(the_kall.x, the_kall.y)
for(var t:Number = s + 1; t < topisler; t++){
var distf = Point.distance(t_pos, new Point(circle_array
if( distf < ((the_kall.width * 0.50) + (circle_array
{
dmm.text = "touched";
//elastic response
kao +=0;
kao2 +=0;
drag=false;
mouseuo=false;
}
}
}
}
stage.addEventListener(MouseEvent.MOUSE_DOWN,mousePressed);
function mousePressed(e:MouseEvent) {
the_kall = new kall();
the_kall.x=mouseX;
the_kall.y=mouseY;
addChild(the_kall)
drag=true;
mouseuo=true;
stage.addEventListener(MouseEvent.MOUSE_UP,mousebrk)
}
stage.addEventListener(Event.ENTER_FRAME,Update);
function Update(e:Event) {
if(drag==true){
the_kall.width =kao;
the_kall.height =kao2;
kao ++;
kao2 ++;
}
if(drag==false){
removeChild(the_kall)
}
if(drag==false && mouseuo==true){
mcKallCont = new MovieClip () ;
stage.addChild(mcKallCont);
mcKall = new boru ();
mcKallCont.x =the_kall.x ;
mcKallCont.y = the_kall.y;
mcKall.width =the_kall.width;
mcKall.height =the_kall.height;
mcKallCont.addChild ( mcKall );
mouseuo=false;
topisler +=1;
removeChild(the_kall)
}
}
stage.addEventListener(MouseEvent.MOUSE_UP,mousebrk);
function mousebrk(e:MouseEvent) {
drag=false;
kao =1;
kao2 =1;
//for ( var p = 0; p < mcKallCont.numChildren; p++ )
//var mcKall1:* = mcKallCont.getChildAt( p );
}
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoved);
function mouseMoved(e:MouseEvent) {
if(drag==true){
the_kall.x=mouseX;
the_kall.y=mouseY;
}
}