Every time i try to access playerfire (its a movieclip inside player) i get the TypeError: Error #1009: Cannot access a property or method of a null object reference.
import flash.events.Event;
import flash.events.TouchEvent;
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
stop();
var gravity:Number=1;
var yVelocity:Number=0;
var canJump:Boolean=false;
var canDoubleJump:Boolean=false;
var enemyArray:Array = new Array();
var a:int;
for (a = numChildren - 1; a>= 0; a--)
{
var childdB:DisplayObject = getChildAt(a);
if (childdB.name.indexOf("enemy") > -1)
{
enemyArray.push(MovieClip(childdB));
MovieClip(childdB).hitPoints = 1;
}
}
testhit.visible = false;
testknife.visible = false;
player.gotoAndStop(2);
stage.addEventListener(Event.ENTER_FRAME,gameloop);
function gameloop(event:Event):void
{
if (player.scaleX == -1)
{
testhit.x = player.x + 5;
testhit.y = player.y - 27;
}
if (player.scaleX == +1)
{
testhit.x = player.x - 5;
testhit.y = player.y - 27;
}
if (player.y >= 344.3)
{
player.y = 344.3;
yVelocity = 0;
canJump = true;
}
for (var en = 0; en<enemyArray.length; en++)
{
var ene1:Enemy = enemyArray[en] as Enemy;
if (testknife.hitTestObject(ene1))
{
ene1.hitPoints --;
testknife.x = -100;
testknife.y = -100;
player.playerfire.gotoAndPlay(10);
}
if (leftPressed == true)
{
ene1.x += 5;
}
if (rightPressed == true)
{
ene1.x -= 5;
}
if(ene1.hitPoints <= 0)
{
ene1.parent.removeChild(ene1);
enemyArray.splice(en,1);
}
}
}
var upPressed:Boolean = false;
var rightPressed:Boolean = false;
var leftPressed:Boolean = false;
var firePressed:Boolean = false;
var checkright:Boolean = false;
var checkleft:Boolean = false;
unsetall.addEventListener(TouchEvent.TOUCH_END,gounsetall);
function gounsetall(event:TouchEvent):void
{
rightPressed = false;
leftPressed = false;
checkleft = false;
checkright = false;
player.gotoAndStop(2);
}
left.addEventListener(TouchEvent.TOUCH_BEGIN,goleft);
function goleft(event:TouchEvent):void
{
checkleft = true;
leftPressed = true;
player.scaleX = -1;
player.gotoAndStop(1);
}
left.addEventListener(TouchEvent.TOUCH_END,stopleft);
function stopleft(event:TouchEvent):void
{
checkleft = false;
leftPressed = false;
rightPressed = false;
player.gotoAndStop(2);
}
right.addEventListener(TouchEvent.TOUCH_BEGIN,goright);
function goright(event:TouchEvent):void
{
checkright = true;
rightPressed = true;
player.scaleX = +1;
player.gotoAndStop(1);
}
right.addEventListener(TouchEvent.TOUCH_END,stopright);
function stopright(event:TouchEvent):void
{
checkright = false;
rightPressed = false;
leftPressed = false;
player.gotoAndStop(2);
}
jump.addEventListener(TouchEvent.TOUCH_BEGIN,gojump);
function gojump(event:TouchEvent):void
{
upPressed = true;
}
jump.addEventListener(TouchEvent.TOUCH_END,ssgojumpss);
function ssgojumpss(event:TouchEvent):void
{
upPressed = false;
}
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
function gofire(event:TouchEvent):void
{
firePressed = true;
}
player.addEventListener(Event.ENTER_FRAME,playerloop);
function playerloop(event:Event):void
{
if (upPressed && canJump)
{
yVelocity =-12;
canJump = false;
canDoubleJump = true;
}
if(upPressed && canDoubleJump && yVelocity > -2)
{
yVelocity = -13;
canDoubleJump = false;
}
yVelocity += gravity;
if(! floorBox.hitTestPoint(player.x,player.y,true))
{
player.y+=yVelocity;
}
if(yVelocity > 20)
{
yVelocity = 20;
}
for (var i:int=0; i<10; i++)
{
if(floorBox.hitTestPoint(player.x,player.y,true))
{
player.y--;
yVelocity = 0;
canJump = true;
}
}
if (leftPressed == true)
{
backround.x += 5;
backround1.x += 5;
floorBox.x += 5;
}
if (rightPressed == true)
{
backround.x -= 5;
backround1.x -= 5;
floorBox.x -= 5;
}
if (upPressed == true)
{
//player.gotoAndStop(4);
}
if (firePressed == true && canJump == true)
{
fire.removeEventListener(TouchEvent.TOUCH_TAP,gofire);
rightPressed = false;
leftPressed = false;
player.gotoAndStop(3);
if (player.playerfire.currentFrame >= 10 && checkright == true && player.scaleX == +1)
{
firePressed = false;
rightPressed = true;
player.gotoAndStop(1);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkright == false && player.scaleX == +1)
{
firePressed = false;
rightPressed = false;
player.gotoAndStop(2);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkleft == true && player.scaleX == -1)
{
firePressed = false;
leftPressed = true;
player.gotoAndStop(1);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkleft == false && player.scaleX == -1)
{
firePressed = false;
leftPressed = false;
player.gotoAndStop(2);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
}
if (firePressed == true && canJump == false)
{
fire.removeEventListener(TouchEvent.TOUCH_TAP,gofire);
player.gotoAndStop(3);
if (player.playerfire.currentFrame >= 10 && checkright == true && player.scaleX == +1)
{
firePressed = false;
rightPressed = true;
player.gotoAndStop(1);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkright == false && player.scaleX == +1)
{
firePressed = false;
rightPressed = false;
player.gotoAndStop(2);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkleft == true && player.scaleX == -1)
{
firePressed = false;
leftPressed = true;
player.gotoAndStop(1);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
if (player.playerfire.currentFrame >= 10 && checkleft == false && player.scaleX == -1)
{
firePressed = false;
leftPressed = false;
player.gotoAndStop(2);
fire.addEventListener(TouchEvent.TOUCH_TAP,gofire);
}
}
if (player.playerfire.currentFrame >= 6 && player.playerfire.currentFrame <= 8 && player.scaleX == +1)
{
testknife.scaleX = +1;
testknife.x = player.x + 6;
testknife.y = player.y - 28;
}
if (player.playerfire.currentFrame >= 6 && player.playerfire.currentFrame <= 8 && player.scaleX == -1)
{
testknife.scaleX = -1;
testknife.x = player.x - 6;
testknife.y = player.y - 28;
}
if (player.playerfire.currentFrame >= 9)
{
testknife.x = -100;
testknife.y = -100;
}
}
