Help me before i kill myself, the errors i get are(my programming teacher can’t figure out why):
TypeError: Error #2007: Parameter hitTestObject must be non-null.
at flash.display::DisplayObject/_hitTest()
at flash.display::DisplayObject/hitTestObject()
at MainSH1/gameLoop()
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at MainSH1/gameLoop()
it repeats the error many times.
package
{
import flash.display.MovieClip;
import flash.events.*
import flash.text.*
import Gun;
import Bullet;
import Explosion;
import Enimie;
public class MainSH1 extends MovieClip
{
var gun:Gun=null;
var bullet:Bullet=null;
var bulletArray:Array=null;
var i,xOffset,j:int=0;
var exp:Explosion;
var enimieArray:Array=null;
var enimie:Enimie;
var myText:TextField=null;
var myFormat:TextFormat=null;
//array that will hold directions of the invaders
//1= moveing right
//-1=moveing left
var dirArray:Array=null;
public function MainSH1()
{
myFormat= new TextFormat;
myFormat.size=12;
myFormat.bold=true
myFormat.color=0x99CCCC
myFormat.underline=false
myText= new TextField();
myText.defaultTextFormat=myFormat;
myText.x=0;
myText.y=0;
myText.width=300
myText.height=300
myText.border=false
myText.text= "Points");
myText.selectable=false
myText.borderColor=0xFF0000
stage.addChild(myText);
dirArray=new Array();
bulletArray=new Array();
enimieArray=new Array();
gun=new Gun
gun.x=80
gun.y=350
stage.addChild(gun)
//creating an array of bullets
//array is empty
xOffset=10;
i=0;
while (i<10)
{
enimieArray*=new Enimie();
enimieArray*.x=xOffset;
enimieArray*.y=50;
stage.addChild(enimieArray*);
xOffset-=50
enimieArray.push(enimie);
i++
}//end while
i=0;
while (i<10)
{
dirArray*=1;
i++
}//end while
addEventListener(Event.ENTER_FRAME, gameLoop);
//when the mouse is clicked the bullet is fired
stage.addEventListener(MouseEvent.CLICK, fireBullet);
}//End of the function main
public function fireBullet(e:MouseEvent):void
{
var bullet=new Bullet();
bullet.x=gun.x;
bullet.y=gun.y;
stage.addChild(bullet);
gotoAndPlay(2);
//add the bullet to the array
bulletArray.push(bullet);
}//end fireBullet function
public function gameLoop (e:Event):void
{
gun.x=mouseX
i=0
while (i<enimieArray.length)
{
if (dirArray*==1)
{
enimieArray*.x+=5
if (enimieArray*.x>540)
{
dirArray*=-1
enimieArray*.y+=50
}//end if
}//end if
else if (dirArray*==-1)
{
enimieArray*.x-=5
if (enimieArray*.x<10)
{
dirArray*=1
enimieArray*.y+=50
}//end if
}//end else
i++
}// end while
var bullet:Bullet;
i=0;
while (i<=bulletArray.length-1)
{
if (bulletArray*.y<15)
{
exp=new Explosion;
exp.x=bulletArray*.x;
exp.y=bulletArray*.y;
stage.addChild(exp);
gotoAndStop(25);
}//end if
if (bulletArray*.y>-105)
{
//move bullet to right
bulletArray*.y-=10;
}// end if
else
{
//remove bullet from array
stage.removeChild(bulletArray*);
bulletArray.splice(i,1);
}//end else
j=0;
while (j<enimieArray.length)
{
if (bulletArray*!=null && bulletArray*.hitTestObject(enimieArray[j]))
{
// remiove the bullet and the enimie from the stage
removeChild(bulletArray*);
removeChild(enimieArray[j]);
//remove from array
bulletArray*.splice(i,1);
enimieArray[j].splice(j,1);
}//end if
j++
}//end while j
i++
}//end of while
}// end of gameLoop
}//end of class Main
}//End Package