Code in frame 1 layer 1

//oopManyBalls
//uses an external definition for the Ball.

for (i = 0; i < 100; i++){
  _root.attachMovie("ball","ball_" + i, i + 10);
} // end for loop

Expects the following class file stored as "Ball.as"

class Ball extends MovieClip {

  var dx: Number;
  var dy: Number;

  function Ball(){
    _x = Math.random() * Stage.width;
    _y = Math.random() * Stage.height;
    dx = Math.random() * 20 - 10;
    dy = Math.random() * 20 - 10;  
  } // end constructor

  function onEnterFrame(){
    move();
    checkBounds();
  } // end function

  function move(){
    _x += dx;
    _y += dy;
  } // end move

  function checkBounds(){
    if (_x > Stage.width){
      dx *= -1;
    } // end if

    if (_x < 0){
      dx *= -1;
    } // end if

    if (_y > Stage.height){
      dy *= -1;
    } // end if

    if (_y < 0){
      dy *= -1;
    } // end if

  } // end checkBounds

  function onRelease(){
    //delete when clicked
    removeMovieClip(this);
  } // end if

} // end class def