Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 1180:调用可能未定义的方法播放器_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 1180:调用可能未定义的方法播放器

Actionscript 3 1180:调用可能未定义的方法播放器,actionscript-3,flash,Actionscript 3,Flash,我试图将下面的代码编码到一个来自教程的包中,但它最初在时间线中有它 现在它给出了错误1180:调用一个可能未定义的方法播放器 下面是相关代码的一个片段(完整代码在下面) 所以玩家没有定义。这是否意味着它缺少AS文件或其他什么 但我试图告诉flash使用图像(图像是“玩家”的实例) 我添加了上面的代码(减去已经存在的公共函数),因为我发现 一位消息人士解释说,我应该添加以下内容: 我在“包装”和“进口”方面的经验有点低。希望你能帮忙 package { import flash.display.

我试图将下面的代码编码到一个来自教程的包中,但它最初在时间线中有它

现在它给出了错误1180:调用一个可能未定义的方法播放器

下面是相关代码的一个片段(完整代码在下面)

所以玩家没有定义。这是否意味着它缺少AS文件或其他什么 但我试图告诉flash使用图像(图像是“玩家”的实例)

我添加了上面的代码(减去已经存在的公共函数),因为我发现 一位消息人士解释说,我应该添加以下内容:

我在“包装”和“进口”方面的经验有点低。希望你能帮忙

package 
{
import flash.display.MovieClip;
import flash.events.*;
import flash.geom.Point;

public class RamboCat extends MovieClip 
{
    var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
    var upPressed:Boolean = false;
    var downPressed:Boolean = false;

    var leftBumping:Boolean = false;
    var rightBumping:Boolean = false;
    var upBumping:Boolean = false;
    var downBumping:Boolean = false;

    var leftBumpPoint:Point = new Point(-30, -55);
    var rightBumpPoint:Point = new Point(30, -55);
    var upBumpPoint:Point = new Point(0, -120);
    var downBumpPoint:Point = new Point(0, 0);

    var scrollX:Number = 0;
    var scrollY:Number = 500;

    var xSpeed:Number = 0;
    var ySpeed:Number = 0;

    var speedConstant:Number = 4;
    var frictionConstant:Number = 0.9;
    var gravityConstant:Number = 1.8;
    var jumpConstant:Number = -35;
    var maxSpeedConstant:Number = 18;

    var doubleJumpReady:Boolean = false;
    var upReleasedInAir:Boolean = false;

    var keyCollected:Boolean = false;
    var doorOpen:Boolean = false;

    var currentLevel:int = 1;

    var animationState:String = "idle";

    var bulletList:Array = new Array();
    var enemyList:Array = new Array();
    var bumperList:Array = new Array();

    private var player:Player;

    public function RamboCat() 
    {


    player = new Player();

    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
    stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

    stage.addEventListener(Event.ENTER_FRAME, loop);

    addEnemiesToLevel1();
    addBumpersToLevel1();
    }
    public function addEnemiesToLevel1():void
{
addEnemy(620, -115);
addEnemy(900, -490);
addEnemy(2005, -115);
addEnemy(1225, -875);
}

    public function addBumpersToLevel1():void
{
addBumper(500, -115);
addBumper(740, -115);
}


    public function loop(e:Event):void{
if(back.collisions.hitTestPoint(player.x + leftBumpPoint.x, player.y + leftBumpPoint.y, true)){
    //trace("leftBumping");
    leftBumping = true;
} else {
    leftBumping = false;
}

if(back.collisions.hitTestPoint(player.x + rightBumpPoint.x, player.y + rightBumpPoint.y, true)){
    //trace("rightBumping");
    rightBumping = true;
} else {
    rightBumping = false;
}

if(back.collisions.hitTestPoint(player.x + upBumpPoint.x, player.y + upBumpPoint.y, true)){
    //trace("upBumping");
    upBumping = true;
} else {
    upBumping = false;
}

if(back.collisions.hitTestPoint(player.x + downBumpPoint.x, player.y + downBumpPoint.y, true)){
    //trace("downBumping");
    downBumping = true;
} else {
    downBumping = false;
}   


if(leftPressed){
    xSpeed -= speedConstant;
    player.scaleX = -1;

} else if(rightPressed){
    xSpeed += speedConstant;
    player.scaleX = 1;
}

 /*if(upPressed){
ySpeed -= speedConstant;

} else if(downPressed){
ySpeed += speedConstant;

}*/

if(leftBumping){
    if(xSpeed < 0){
        xSpeed *= -0.5;
    }
}

if(rightBumping){
    if(xSpeed > 0){
        xSpeed *= -0.5;
    }
}

if(upBumping){
    if(ySpeed < 0){
        ySpeed *= -0.5;
    }
}

if(downBumping){ //if we are touching the floor
    if(ySpeed > 0){ 
        ySpeed = 0; //set the y speed to zero
    }
    if(upPressed){ //and if the up arrow is pressed
        ySpeed = jumpConstant; //set the y speed to the jump constant
    }

    //DOUBLE JUMP
    if(upReleasedInAir == true){
        upReleasedInAir = false;
    }
    if(doubleJumpReady == false){
        doubleJumpReady = true;
    }
} else { //if we are not touching the floor

    ySpeed += gravityConstant; //accelerate downwards

    //DOUBLE JUMP
    if(upPressed == false && upReleasedInAir == false){
        upReleasedInAir = true;
        //trace("upReleasedInAir");
    }
    if(doubleJumpReady && upReleasedInAir){
        if(upPressed){ //and if the up arrow is pressed
            //trace("doubleJump!");
            doubleJumpReady = false;
            ySpeed = jumpConstant; //set the y speed to the jump constant
        }
    }

}

if(keyCollected == false){
    if(player.hitTestObject(back.other.doorKey)){
        back.other.doorKey.visible = false;
        keyCollected = true;
        trace("key collected");
    }
}

if(doorOpen == false){
    if(keyCollected == true){
        if(player.hitTestObject(back.other.lockedDoor)){
            back.other.lockedDoor.gotoAndStop(2);
            doorOpen = true;
            trace("door open");
        }
    }
}


if(xSpeed > maxSpeedConstant){ //moving right
    xSpeed = maxSpeedConstant;
} else if(xSpeed < (maxSpeedConstant * -1)){ //moving left
    xSpeed = (maxSpeedConstant * -1);
}

xSpeed *= frictionConstant;
ySpeed *= frictionConstant;

if(Math.abs(xSpeed) < 0.5){
    xSpeed = 0;
}

scrollX -= xSpeed;
scrollY -= ySpeed;

back.x = scrollX;
back.y = scrollY;

sky.x = scrollX * 0.2;
sky.y = scrollY * 0.2;

if( ( leftPressed || rightPressed || xSpeed > speedConstant || xSpeed < speedConstant *-1 ) && downBumping){
    animationState = "running";
} else if(downBumping){
    animationState = "idle";
} else {
    animationState = "jumping";
}

if(player.currentLabel != animationState){
    player.gotoAndStop(animationState);
}


if (enemyList.length > 0) // if there are any enemies left in the enemyList
{
    for (var i:int = 0; i < enemyList.length; i++) // for each enemy in the enemyList
    {
        if (bulletList.length > 0) // if there are any bullets alive
        {
            for (var j:int = 0; j < bulletList.length; j++) // for each bullet in the bulletList
            {
                if ( enemyList[i].hitTestObject(bulletList[j]) )
                {
                    trace("Bullet and Enemy are colliding");
                    enemyList[i].removeSelf();
                    bulletList[j].removeSelf();
                }

                // enemyList[i] will give you the current enemy
                // bulletList[j] will give you the current bullet
                // this will check all combinations of bullets and enemies
                // and see if any are colliding
            }
        }
    }
}

 //corralling the bad guys with bumpers
if (enemyList.length > 0){ //enemies left in the enemyList?
    for (var k:int = 0; k < enemyList.length; k++){ // for each enemy in the enemyList
        if (bumperList.length > 0){
            for (var h:int = 0; h < bumperList.length; h++){ // for each bumper in the List
                if ( enemyList[k].hitTestObject(bumperList[h]) ){
                    enemyList[k].changeDirection();
                    }
                }
            }
        }
    }

 //player and enemy collisions
if (enemyList.length > 0){ //enemies left?
    for (var m:int = 0; m < enemyList.length; m++){ // for each enemy in the enemyList
        if ( enemyList[m].hitTestObject(player) ){
            trace("player collided with enemy");
            //code to damage player goes here, maybe integrate with a health bar?                           
            enemyList[m].removeSelf();
        }
    }
}

 }

    public function nextLevel():void{
currentLevel++;
trace("Next Level: " + currentLevel);
if(currentLevel == 2){
   gotoLevel2();
}
// can be extended...
// else if(currentLevel == 3) { gotoLevel3(); } // etc, etc.    
}

    public function gotoLevel2():void{
back.other.gotoAndStop(2);
back.visuals.gotoAndStop(2);
back.collisions.gotoAndStop(2);
scrollX = 0;
scrollY = 500;

keyCollected = false;
back.other.doorKey.visible = true;
doorOpen = false;
back.other.lockedDoor.gotoAndStop(1);
}

    public function keyDownHandler(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT){
    leftPressed = true;

} else if(e.keyCode == Keyboard.RIGHT){
    rightPressed = true;

} else if(e.keyCode == Keyboard.UP){
    upPressed = true;

} else if(e.keyCode == Keyboard.DOWN){
    downPressed = true;
    if(doorOpen && player.hitTestObject(back.other.lockedDoor)){
        //proceed to the next level if the player is touching an open door
        nextLevel();
    }
}
}

    public function keyUpHandler(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT){
    leftPressed = false;

} else if(e.keyCode == Keyboard.RIGHT){
    rightPressed = false;

} else if(e.keyCode == Keyboard.UP){
    upPressed = false;

} else if(e.keyCode == Keyboard.DOWN){
    downPressed = false;
}

if(e.keyCode == Keyboard.SPACE){
    fireBullet();
}
 }

    public function fireBullet():void
{
var playerDirection:String;
if(player.scaleX < 0){
    playerDirection = "left";
} else if(player.scaleX > 0){
    playerDirection = "right";
}
var bullet:Bullet = new Bullet(player.x - scrollX, player.y - scrollY, playerDirection, xSpeed);
back.addChild(bullet);

bullet.addEventListener(Event.REMOVED, bulletRemoved);
bulletList.push(bullet);

 }

    public function bulletRemoved(e:Event):void
 {
e.currentTarget.removeEventListener(Event.REMOVED, bulletRemoved); //this just removes the eventListener so we don't get an error
bulletList.splice(bulletList.indexOf(e.currentTarget), 1); 
 //this removes 1 object from the bulletList, at the index of whatever object caused this function to activate
 }

    public function addEnemy(xLocation:int, yLocation:int):void
 {
var enemy:Enemy = new Enemy(xLocation, yLocation);
back.addChild(enemy);
enemy.addEventListener(Event.REMOVED, enemyRemoved);
enemyList.push(enemy);
 }

    public function addBumper(xLocation:int, yLocation:int):void
 {
var bumper:Bumper = new Bumper(xLocation, yLocation);
back.addChild(bumper);
bumper.visible = false;
bumperList.push(bumper);
 }

    public function enemyRemoved(e:Event):void
 {
e.currentTarget.removeEventListener(Event.REMOVED, enemyRemoved);
  //this just removes the eventListener so it doesn't give an error
enemyList.splice(enemyList.indexOf(e.currentTarget), 1); //this removes 1 object from the enemyList, at the index of whatever object caused this function to activate
 }
}
 }
包
{
导入flash.display.MovieClip;
导入flash.events.*;
导入flash.geom.Point;
公共类Rambocate扩展MovieClip
{
var leftPressed:Boolean=false;
var rightPressed:Boolean=false;
var upPressed:Boolean=false;
按下var:布尔值=假;
var leftBumping:Boolean=false;
var rightBumping:布尔值=false;
变量向上泵送:布尔值=假;
变量下跳:布尔值=false;
var leftBumpPoint:点=新点(-30,-55);
var rightBumpPoint:点=新点(30,-55);
var UpPumpPoint:点=新点(0,-120);
var下降点:点=新点(0,0);
变量x:Number=0;
变量scrollY:Number=500;
var xSpeed:Number=0;
var y速度:数字=0;
变量速度常数:数值=4;
var摩擦常数:数值=0.9;
var重力恒温器:数值=1.8;
var jumpConstant:Number=-35;
var maxSpeedConstant:数字=18;
var doubleJumpReady:Boolean=false;
var upReleasedInAir:Boolean=false;
var keyCollected:Boolean=false;
var doorOpen:Boolean=false;
var currentLevel:int=1;
var animationState:String=“idle”;
var bulletList:Array=new Array();
var enemyList:Array=new Array();
var bumperList:Array=new Array();
私人玩家:玩家;
公共职能
{
player=新玩家();
stage.addEventListener(KeyboardEvent.KEY_DOWN,keydowHandler);
stage.addEventListener(KeyboardEvent.KEY\u UP,keyUpHandler);
stage.addEventListener(Event.ENTER_FRAME,循环);
addEnemiesToLevel1();
添加BumpersToLevel 1();
}
公共函数addEnemiesToLevel1():void
{
阿德内米(620,-115);
加法(900,-490);
addEnemy(2005,-115);
阿德内米(1225,-875);
}
公共函数addBumpersToLevel 1():void
{
加缓冲器(500,-115);
附加缓冲器(740,-115);
}
公共函数循环(e:事件):无效{
if(back.collisions.hitTestPoint(player.x+leftBumpPoint.x,player.y+leftBumpPoint.y,true)){
//痕迹(“左碰撞”);
leftBumping=true;
}否则{
leftBumping=false;
}
if(back.collisions.hitTestPoint(player.x+righbumppoint.x,player.y+righbumppoint.y,true)){
//痕迹(“右碰撞”);
右碰撞=真;
}否则{
右碰撞=假;
}
if(back.collisions.hitTestPoint(player.x+uppumppoint.x,player.y+uppumppoint.y,true)){
//跟踪(“上泵”);
上泵=正确;
}否则{
上泵=错误;
}
if(back.collisions.hitTestPoint(player.x+downBumpPoint.x,player.y+downBumpPoint.y,true)){
//跟踪(“下颠簸”);
下颠簸=真;
}否则{
向下碰撞=错误;
}   
如果(左按){
xSpeed-=速度常数;
player.scaleX=-1;
}else if(右键按下){
xSpeed+=速度常数;
player.scaleX=1;
}
/*如果(增加){
Y速度-=速度常数;
}else if(按下){
Y速度+=速度常数;
}*/
如果(左碰撞){
如果(x速度<0){
xSpeed*=-0.5;
}
}
如果(右碰撞){
如果(xSpeed>0){
xSpeed*=-0.5;
}
}
如果(向上泵送){
如果(Y速度<0){
Y速度*=-0.5;
}
}
如果(下颠簸){//如果我们碰到地板
如果(ySpeed>0){
YSSPEED=0;//将y速度设置为零
}
如果(向上){//并且如果按下了向上箭头
YSSPEED=jumpConstant;//将y速度设置为跳跃常量
}
//双跳
if(upReleasedInAir==true){
upReleasedInAir=false;
}
如果(doubleJumpReady==false){
doubleJumpReady=true;
}
}否则{//如果我们不接触地板
ySpeed+=gravityConstant;//向下加速
//双跳
if(upPressed==false&&uppressedinair==false){
upReleasedInAir=true;
//跟踪(“upReleasedInAir”);
}
if(双跳线准备就绪和升级){
如果(向上){//并且如果按下了向上箭头
//跟踪(“双跳!”);
doubleJumpReady=false;
YSSPEED=jumpConstant;//将y速度设置为跳跃常量
}
}
}
if(keyCollected==false){
if(player.hitTestObject(back.other.doorKey)){
back.other.doorKey.visible=false;
keyCollected=true;
跟踪(“收集的密钥”);
}
}
如果(门开==假){
if(keyCollected==true){
if(player.hitTestObject(back.other.lockedDoor)){
返回。其他。锁定门。到达和停止(2);
doorOpen=true;
跟踪(“开门”);
}
}
}
如果(xSpeed>maxSpeedConstant){//向右移动
xSpeed=maxSpeedConstant;
}如果(xSpeed<(maxSpeedConstant*-1)){//向左移动
xSpeed=(maxSpeedConstant*-1);
}
X速度*=摩擦常数;
Y速度*=摩擦常数;
if(数学绝对速度(X速度)<0.5){
xSpeed=0;
}
scrollX-=xSpeed;
滚动-=Y速度;
back.x=scrollX;
back.y=scrollY;
天空x=滚动x*0.2;
sky.y=滚动*0.2;
如果((左按| |右按| | xSpeed>speedConstant | | xSpeed0)//如果enemyList中还有敌人
{
for(var i:int=0;ipackage 
{
import flash.display.MovieClip;
import flash.events.*;
import flash.geom.Point;

public class RamboCat extends MovieClip 
{
    var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
    var upPressed:Boolean = false;
    var downPressed:Boolean = false;

    var leftBumping:Boolean = false;
    var rightBumping:Boolean = false;
    var upBumping:Boolean = false;
    var downBumping:Boolean = false;

    var leftBumpPoint:Point = new Point(-30, -55);
    var rightBumpPoint:Point = new Point(30, -55);
    var upBumpPoint:Point = new Point(0, -120);
    var downBumpPoint:Point = new Point(0, 0);

    var scrollX:Number = 0;
    var scrollY:Number = 500;

    var xSpeed:Number = 0;
    var ySpeed:Number = 0;

    var speedConstant:Number = 4;
    var frictionConstant:Number = 0.9;
    var gravityConstant:Number = 1.8;
    var jumpConstant:Number = -35;
    var maxSpeedConstant:Number = 18;

    var doubleJumpReady:Boolean = false;
    var upReleasedInAir:Boolean = false;

    var keyCollected:Boolean = false;
    var doorOpen:Boolean = false;

    var currentLevel:int = 1;

    var animationState:String = "idle";

    var bulletList:Array = new Array();
    var enemyList:Array = new Array();
    var bumperList:Array = new Array();

    private var player:Player;

    public function RamboCat() 
    {


    player = new Player();

    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
    stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);

    stage.addEventListener(Event.ENTER_FRAME, loop);

    addEnemiesToLevel1();
    addBumpersToLevel1();
    }
    public function addEnemiesToLevel1():void
{
addEnemy(620, -115);
addEnemy(900, -490);
addEnemy(2005, -115);
addEnemy(1225, -875);
}

    public function addBumpersToLevel1():void
{
addBumper(500, -115);
addBumper(740, -115);
}


    public function loop(e:Event):void{
if(back.collisions.hitTestPoint(player.x + leftBumpPoint.x, player.y + leftBumpPoint.y, true)){
    //trace("leftBumping");
    leftBumping = true;
} else {
    leftBumping = false;
}

if(back.collisions.hitTestPoint(player.x + rightBumpPoint.x, player.y + rightBumpPoint.y, true)){
    //trace("rightBumping");
    rightBumping = true;
} else {
    rightBumping = false;
}

if(back.collisions.hitTestPoint(player.x + upBumpPoint.x, player.y + upBumpPoint.y, true)){
    //trace("upBumping");
    upBumping = true;
} else {
    upBumping = false;
}

if(back.collisions.hitTestPoint(player.x + downBumpPoint.x, player.y + downBumpPoint.y, true)){
    //trace("downBumping");
    downBumping = true;
} else {
    downBumping = false;
}   


if(leftPressed){
    xSpeed -= speedConstant;
    player.scaleX = -1;

} else if(rightPressed){
    xSpeed += speedConstant;
    player.scaleX = 1;
}

 /*if(upPressed){
ySpeed -= speedConstant;

} else if(downPressed){
ySpeed += speedConstant;

}*/

if(leftBumping){
    if(xSpeed < 0){
        xSpeed *= -0.5;
    }
}

if(rightBumping){
    if(xSpeed > 0){
        xSpeed *= -0.5;
    }
}

if(upBumping){
    if(ySpeed < 0){
        ySpeed *= -0.5;
    }
}

if(downBumping){ //if we are touching the floor
    if(ySpeed > 0){ 
        ySpeed = 0; //set the y speed to zero
    }
    if(upPressed){ //and if the up arrow is pressed
        ySpeed = jumpConstant; //set the y speed to the jump constant
    }

    //DOUBLE JUMP
    if(upReleasedInAir == true){
        upReleasedInAir = false;
    }
    if(doubleJumpReady == false){
        doubleJumpReady = true;
    }
} else { //if we are not touching the floor

    ySpeed += gravityConstant; //accelerate downwards

    //DOUBLE JUMP
    if(upPressed == false && upReleasedInAir == false){
        upReleasedInAir = true;
        //trace("upReleasedInAir");
    }
    if(doubleJumpReady && upReleasedInAir){
        if(upPressed){ //and if the up arrow is pressed
            //trace("doubleJump!");
            doubleJumpReady = false;
            ySpeed = jumpConstant; //set the y speed to the jump constant
        }
    }

}

if(keyCollected == false){
    if(player.hitTestObject(back.other.doorKey)){
        back.other.doorKey.visible = false;
        keyCollected = true;
        trace("key collected");
    }
}

if(doorOpen == false){
    if(keyCollected == true){
        if(player.hitTestObject(back.other.lockedDoor)){
            back.other.lockedDoor.gotoAndStop(2);
            doorOpen = true;
            trace("door open");
        }
    }
}


if(xSpeed > maxSpeedConstant){ //moving right
    xSpeed = maxSpeedConstant;
} else if(xSpeed < (maxSpeedConstant * -1)){ //moving left
    xSpeed = (maxSpeedConstant * -1);
}

xSpeed *= frictionConstant;
ySpeed *= frictionConstant;

if(Math.abs(xSpeed) < 0.5){
    xSpeed = 0;
}

scrollX -= xSpeed;
scrollY -= ySpeed;

back.x = scrollX;
back.y = scrollY;

sky.x = scrollX * 0.2;
sky.y = scrollY * 0.2;

if( ( leftPressed || rightPressed || xSpeed > speedConstant || xSpeed < speedConstant *-1 ) && downBumping){
    animationState = "running";
} else if(downBumping){
    animationState = "idle";
} else {
    animationState = "jumping";
}

if(player.currentLabel != animationState){
    player.gotoAndStop(animationState);
}


if (enemyList.length > 0) // if there are any enemies left in the enemyList
{
    for (var i:int = 0; i < enemyList.length; i++) // for each enemy in the enemyList
    {
        if (bulletList.length > 0) // if there are any bullets alive
        {
            for (var j:int = 0; j < bulletList.length; j++) // for each bullet in the bulletList
            {
                if ( enemyList[i].hitTestObject(bulletList[j]) )
                {
                    trace("Bullet and Enemy are colliding");
                    enemyList[i].removeSelf();
                    bulletList[j].removeSelf();
                }

                // enemyList[i] will give you the current enemy
                // bulletList[j] will give you the current bullet
                // this will check all combinations of bullets and enemies
                // and see if any are colliding
            }
        }
    }
}

 //corralling the bad guys with bumpers
if (enemyList.length > 0){ //enemies left in the enemyList?
    for (var k:int = 0; k < enemyList.length; k++){ // for each enemy in the enemyList
        if (bumperList.length > 0){
            for (var h:int = 0; h < bumperList.length; h++){ // for each bumper in the List
                if ( enemyList[k].hitTestObject(bumperList[h]) ){
                    enemyList[k].changeDirection();
                    }
                }
            }
        }
    }

 //player and enemy collisions
if (enemyList.length > 0){ //enemies left?
    for (var m:int = 0; m < enemyList.length; m++){ // for each enemy in the enemyList
        if ( enemyList[m].hitTestObject(player) ){
            trace("player collided with enemy");
            //code to damage player goes here, maybe integrate with a health bar?                           
            enemyList[m].removeSelf();
        }
    }
}

 }

    public function nextLevel():void{
currentLevel++;
trace("Next Level: " + currentLevel);
if(currentLevel == 2){
   gotoLevel2();
}
// can be extended...
// else if(currentLevel == 3) { gotoLevel3(); } // etc, etc.    
}

    public function gotoLevel2():void{
back.other.gotoAndStop(2);
back.visuals.gotoAndStop(2);
back.collisions.gotoAndStop(2);
scrollX = 0;
scrollY = 500;

keyCollected = false;
back.other.doorKey.visible = true;
doorOpen = false;
back.other.lockedDoor.gotoAndStop(1);
}

    public function keyDownHandler(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT){
    leftPressed = true;

} else if(e.keyCode == Keyboard.RIGHT){
    rightPressed = true;

} else if(e.keyCode == Keyboard.UP){
    upPressed = true;

} else if(e.keyCode == Keyboard.DOWN){
    downPressed = true;
    if(doorOpen && player.hitTestObject(back.other.lockedDoor)){
        //proceed to the next level if the player is touching an open door
        nextLevel();
    }
}
}

    public function keyUpHandler(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT){
    leftPressed = false;

} else if(e.keyCode == Keyboard.RIGHT){
    rightPressed = false;

} else if(e.keyCode == Keyboard.UP){
    upPressed = false;

} else if(e.keyCode == Keyboard.DOWN){
    downPressed = false;
}

if(e.keyCode == Keyboard.SPACE){
    fireBullet();
}
 }

    public function fireBullet():void
{
var playerDirection:String;
if(player.scaleX < 0){
    playerDirection = "left";
} else if(player.scaleX > 0){
    playerDirection = "right";
}
var bullet:Bullet = new Bullet(player.x - scrollX, player.y - scrollY, playerDirection, xSpeed);
back.addChild(bullet);

bullet.addEventListener(Event.REMOVED, bulletRemoved);
bulletList.push(bullet);

 }

    public function bulletRemoved(e:Event):void
 {
e.currentTarget.removeEventListener(Event.REMOVED, bulletRemoved); //this just removes the eventListener so we don't get an error
bulletList.splice(bulletList.indexOf(e.currentTarget), 1); 
 //this removes 1 object from the bulletList, at the index of whatever object caused this function to activate
 }

    public function addEnemy(xLocation:int, yLocation:int):void
 {
var enemy:Enemy = new Enemy(xLocation, yLocation);
back.addChild(enemy);
enemy.addEventListener(Event.REMOVED, enemyRemoved);
enemyList.push(enemy);
 }

    public function addBumper(xLocation:int, yLocation:int):void
 {
var bumper:Bumper = new Bumper(xLocation, yLocation);
back.addChild(bumper);
bumper.visible = false;
bumperList.push(bumper);
 }

    public function enemyRemoved(e:Event):void
 {
e.currentTarget.removeEventListener(Event.REMOVED, enemyRemoved);
  //this just removes the eventListener so it doesn't give an error
enemyList.splice(enemyList.indexOf(e.currentTarget), 1); //this removes 1 object from the enemyList, at the index of whatever object caused this function to activate
 }
}
 }
import your.package.name.ClassName;
import your.package.name.*;
import xxx.Player;