Here's what I've done so far:
http://www.fileden.com/files/2009/12...Untitled-1.swf

The circle objects are generated from a class. There is only 1 circle object, the blue circle is stopped at frame 1 and the red circle is stopped at frame 2.

I don't know how to detect collisions between the circles (I want something to happen if a blue circle touches a red one) because I don't know how to uniquely identify each one.

Code for timeline:
Code:
// Variables
var frameno:Number =0;
var circno:Number=0;
var test:Array = new Array();

// Event listeners
cmdAdd1.addEventListener(MouseEvent.CLICK, AddHandler);
cmdAdd2.addEventListener(MouseEvent.CLICK, AddHandler);
addEventListener(Event.ENTER_FRAME,enterFrameHandler);

// Functions
function AddHandler(event:MouseEvent):void{
	var buttonName:String = event.target.name;
	switch(buttonName){
		case "cmdAdd1":
			frameno=1;
			break;
		case "cmdAdd2":
			frameno=2;
			break;
	}
	
	var newCircle:BlueCircle = new BlueCircle();
	test.push(newCircle);
	circno++;
	
	trace (test[1]);
	trace(test.length);
	
	this.addChild(newCircle);
	newCircle.x = Math.random()*300;
	newCircle.y = Math.random()*200;
	newCircle.alpha = .2+Math.random()*.5;
	newCircle.Setup(frameno);
	//var scale:Number = .2+Math.random()*2;
	var scale:Number = 0.5;
	newCircle.scaleX = newCircle.scaleY = scale; 
}

function enterFrameHandler(event:Event):void{
//    if (BlueCircle.hitTestObject(BlueCircle)
//        && BlueCircle.currentFrame == 2
//        && BlueCircle.currentFrame == 1)
//    {
//        trace("test");
//    }
}
Code for class script:

Code:
package {

import flash.display.*;
import flash.events.*;
 
public class BlueCircle extends MovieClip {

var xspeed = 5;
var yspeed = 5;
var ticker = 0;
var tickersec=0;
 
public function BlueCircle()
{
	this.addEventListener(Event.ENTER_FRAME, MoveCircle);
}

public function Setup(val:Number):void
{
	this.gotoAndStop(val);
}

function MoveCircle(e:Event)
{
	this.x += xspeed;
	this.y += yspeed;
	ticker++;
	
	// check screen boundaries
	if (this.x>stage.stageWidth-15){this.xspeed=-5};
	if (this.x<15){this.xspeed=5};
	if (this.y>stage.stageHeight-15){this.yspeed=-5};
	if (this.y<15){this.yspeed=5};

	// ticker
	if (ticker==25){
		tickersec++; ticker=0; // 25 fps, so add 1 second
	}
	
	if (tickersec==30){
		tickersec=0;
		parent.removeChild(this); // remove instance after x seconds
		this.removeEventListener(Event.ENTER_FRAME, MoveCircle);
		};
}
}
}