title: How to remove all of one class of children from screen in Flash CS4 AS3?
body: <p>Ok, so I've been stuck on this for about three hours now and I finally feel like asking for help.</p>
  
  <p>Basically, I am trying to remove all instances of an enemy object from the screen when my player ship makes contact with one of them, as he then loses a life and is put back into a safe position on the screen.</p>
  
  <p>EDIT: This is all the code from my Enemy Dude .as file, a bit overboard maybe but nonetheless.</p>
  
  <pre><code>package
  {
      import flash.display.MovieClip;
      import flash.events.*;
      import flash.media.Sound;
      import flash.media.SoundChannel;
      public class Enemydude extends MovieClip
      {
          private var _root:Object;
          private var speed:int = 6;
          private var shipps = this
          public function Enemydude()
          {
              addEventListener(Event.ADDED, beginclass);
              addEventListener(Event.ENTER_FRAME, entFrame);
          }
  
          private function beginclass(event:Event):void
          {
              _root = MovieClip(root);
          }
  
          private function entFrame(event:Event):void
          {
              x -= speed;
              if(this.x &lt; -64)
              {
                  removeEventListener(Event.ENTER_FRAME, entFrame);
                  _root.removeChild(this)
              }
              if(_root.gameover)
              {
                  x = -700
                  removeEventListener(Event.ENTER_FRAME, entFrame);
                  removeEventListener(Event.ADDED, beginclass);
              }
              for (var i:int = 0; i&lt;_root.playerBulletContainer.numChildren; i++)
              {
                  var bulletTarget:MovieClip = _root.playerBulletContainer.getChildAt(i)
                  if (hitTestObject(bulletTarget))
                  {
                      removeEventListener(Event.ENTER_FRAME, entFrame);
                      _root.removeChild(this);
                      _root.playerBulletContainer.removeChild(bulletTarget);
                      bulletTarget.removeListeners();
                      _root.Score += 10
                      makeExplosion();
                  }
              }
              if(hitTestObject(_root.mcship))
              {
                  makeExplosion();
                  shipPos();
                  removethis();
              }
  
          }
          private function makeExplosion() 
          {
              var sndExplode:snd_explosion1;
              var sndExplodeChannel:SoundChannel;
              sndExplode=new snd_explosion1();
              sndExplodeChannel=sndExplode.play();
              var newExplosion01:explosionEffect=new explosionEffect  ;
              newExplosion01.x=this.x;
              newExplosion01.y=this.y;
              _root.explosionContainer.addChild(newExplosion01);
  
          }
          private function shipPos()
          {
              _root.lives -= 1;
              _root.mcship.x = 80;
              _root.mcship.y = 225;
              for each(var i:Enemydude in _root.enemies)
          {
              removethis();
          }
  
          _root.enemies.length = 0;
          }
          public function removethis():void
          {
              if(parent) parent.removeChild(this)
              removeEventListener(Event.ENTER_FRAME, entFrame);
          }
      }
  }
  </code></pre>
  
  <p>EDIT: And this is the code I now have that relates to the Enemydude in my main timeline, quite sorry about all this.</p>
  
  <pre><code>var enemies:Array = [];
  var Shipheight:Number = 300;
  var Enemytime:int = 0;
  var Enemylimit:int = 16;
  
      if (Enemytime&lt;Enemylimit)
          {
              Enemytime ++;
          }
          else
          {
              var newEnemy01 = new Enemydude();
              newEnemy01.y = Shipheight;
              newEnemy01.x = stage.stageWidth + 64;
              addChild(newEnemy01);
              enemies.push(newEnemy01);
              Enemytime = 0
  
  function shipY(event:Event):void
  {
      Shipheight = Math.ceil(Math.random()* 250) + 80;
  }
  </code></pre>
  
  <p>Thank you for your help in advance, any advice is appreciated.</p>