I am trying to make a brick breaker game work with more than one enemy, except this keeps bugging and i can’t find out why. The error is the error of a duplicate definition. Here’s the code:
import flash.display.MovieClip;
stop();
var ballXSpeed:Number = 8;
var ballYSpeed:Number = 8;
var brickAmt:int = 0;
var lives:int = 3;
var gameOver:Boolean = false;
var score:int = 0;
function beginCode(event:MouseEvent):void{
stage.removeEventListener(MouseEvent.CLICK, beginCode);
vky.addEventListener(Event.ENTER_FRAME, movePaddle);
bola.addEventListener(Event.ENTER_FRAME, moveBall);
addEventListener(Event.ENTER_FRAME, checkLevel);
txtStart.text = '';
}
function movePaddle(event:Event):void{
vky.x = mouseX - vky.width / 2;
if(mouseX < vky.width / 2){
vky.x = 0;
}
if(mouseX > stage.stageWidth - vky.width / 2){
//Keep the paddle on stage
vky.x = stage.stageWidth - vky.width;
}
}
function moveBall(event:Event):void{
bola.x += ballXSpeed;
bola.y += ballYSpeed;
if(bola.x >= stage.stageWidth-bola.width){
ballXSpeed *= -1;
}
if(bola.x <= 0){
ballXSpeed *= -1;
}
if(bola.y >= stage.stageHeight-bola.height){
//ballYSpeed *= -1;
lives --;
checkLevel(null);
if(lives <= 0){
gameOver = true;
vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
bola.removeEventListener(Event.ENTER_FRAME, moveBall);
removeEventListener(Event.ENTER_FRAME, checkLevel);
removeEventListener(Event.ENTER_FRAME, updateTextFields);
gotoAndStop('lose');
}
}
if(bola.y <= 0){
ballYSpeed *= -1;
}
if(bola.hitTestObject(vky)){
calcBallAngle();
}
}
function calcBallAngle():void{
var ballPosition:Number = bola.x - vky.x;
var hitPercent:Number = (ballPosition / (vky.width - bola.width)) - .5;
ballXSpeed = hitPercent * 10;
ballYSpeed *= -1;
}
function makeLvl():void{
if(currentLvl > lvlArray.length){
gameOver = true;
vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
bola.removeEventListener(Event.ENTER_FRAME, moveBall);
removeEventListener(Event.ENTER_FRAME, checkLevel);
removeEventListener(Event.ENTER_FRAME, updateTextFields);
gotoAndStop("win");
}
var arrayLength:int = lvlArray[currentLvl-1].length;
var brickRow:int = 0;
for(var i:int = 0;i<arrayLength;i++){
if(lvlArray[currentLvl-1]* == 1){
[SIZE=4]** var brick:MovieClip = new Brick();
}else {
var brick:MovieClip = new Brick2();
}**[/SIZE]
brick.x = 15+(i-brickRow*7)*75;
brick.y = 10+brickRow*20;
for(var c:int = 1;c<=10;c++){
if(i == c*7-1){
brickRow ++;
}
}
addChild(brick);
}
}
function checkLevel(event:Event):void{
if(brickAmt == 0){
currentLvl ++;
}
if(bola.y >= stage.stageHeight-bola.height || brickAmt == 0) {
txtStart.text = "Click To Begin";
makeLvl();
bola.x = 150;
bola.y = 265;
vky.x = 230;
vky.removeEventListener(Event.ENTER_FRAME, movePaddle);
bola.removeEventListener(Event.ENTER_FRAME, moveBall);
removeEventListener(Event.ENTER_FRAME, checkLevel);
stage.addEventListener(MouseEvent.CLICK, beginCode);
}
}
function updateTextFields(event:Event):void{
txtStats.text = "Level: “+currentLvl+” Lives: “+lives+” Score: "+score;
}
stage.addEventListener(MouseEvent.CLICK, beginCode);
txtStart.text = “Click To Begin”;
addEventListener(Event.ENTER_FRAME, updateTextFields);
makeLvl();