I am making a game where i want to be able to shoot zombies to make their health go down, but i get a null property error on objb.
i have declared abjb and objz as Object variables
Here is my code for the bullet:
function mouseDown(event)
{
var b = new Bullet();
b.x = character_mc.x;
b.y = character_mc.y;
b.angleRadian = Math.atan2(mouseY - character_mc.y,mouseX -character_mc.x);
b.addEventListener(Event.ENTER_FRAME, bulletEnterFrame);
addChild(b);
}
function bulletEnterFrame(event)
{
var b = event.currentTarget;
objb = event.currentTarget;
b.x += Math.cos(b.angleRadian) * speedb;
b.y += Math.sin(b.angleRadian) * speedb;
b.rotation = b.angleRadian * 180 / Math.PI;
if (b.hitTestObject(objz) == true)
{
removeChild(b);
b.removeEventListener(Event.ENTER_FRAME, bulletEnterFrame);
}
if (b.x < 50 || b.x > 675 || b.y < 50 || b.y > 500)
{
removeChild(b);
b.removeEventListener(Event.ENTER_FRAME, bulletEnterFrame);
}
}
and here is my code from the zombie:
function createZombie():void
{
var zombie : Z = new Z();
zombie.rotation = 90;
zombie.height = 85.35;
zombie.width = 55.9;
zombie.x = 403.25;
zombie.y = -86.9;
addChild(zombie);
trace("spawned the zombie");
zombie.addEventListener(Event.ENTER_FRAME,zombiemove);
}
function zombiemove(event:Event)
{
var dead:Number;
var zombie = event.currentTarget;
objz = zombie;
dead = zombiehits;
zombie.y += 1;
if (zombie.hitTestObject(objb) == true)//this is where the error is
{
dead -= 1;
}
if (dead == 0)
{
removeChild(zombie);
zombie.removeEventListener(Event.ENTER_FRAME,zombiemove);
}
}