1084: Syntaxfehler: erwarte rightbrace vor Ende des Programms

So, ich bekomme immer diese Fehler, debugger wird nicht ausgeführt, sondern zeigt nur, dass dieser Fehler zu einem compiler-box.
Was wurde driving me crazy nun seit Tagen so beschloss ich, es hier zu posten.

Heißt es:

Scene 1, Layer 'powerups', Frame 1  1084: Syntax error: expecting rightbrace before end of     program.

Ich dafür meinen code so, dass die "powerups" - layer enthält nur die "powerup" - Funktionen,
hier ist der code von "Powerups" - Ebene:

//this code holds the powerups
function extraCoins():void
{
    coins = coins + 1000;
}

function doubleCoins():void
{
    doubCoins = true;
}

function hyperBoostD():void
{
    Boost = 600;
    playerSpeed = playerSpeed + 150;
    player.y = player.y + 300;
    colBoolean = false;
    hyperBoost.push(Boost);
}

function BoostD():void
{
    Boost = 200;
    playerSpeed = playerSpeed + 100;
    player.y = player.y + 200;
    colBoolean = false;
    boost.push(Boost);
}

function multiplierDone():void
{
    multiplier++;
}

function multiplierDtwo():void
{
    multiplier = multiplier + 2;
}

function watchOutD():void
{
    watchOut = true;
    watchOutT = 600;
}

function blowOutD():void
{
    blowOut = true;
    blowOutT = 100;
}

function planeD():void
{
    planeT = 600;
    colBoolean = false;
}

function havenD():void
{
    havenT = 200;
    coinMake = 20;
}

function badBirdD():void
{
    birdT = 600;
    birdSet = 10;
}

function tricksterD():void
{
    tricksterT = 600;
    trickster = true;
}

function rampageD():void
{
    rampageT = 600;
    rampage = true;
    pplStat = true;
    var tempWatchoutPPL:MovieClip;
    tempWatchoutPPL = new peopleWatchout();
    tempWatchoutPPL.y = stage.stageHeight /2;
    tempWatchoutPPL.x = stage.stageWidth /2;
    addChild(tempWatchoutPPL);
    signs.push(tempWatchoutPPL);
}

function helpPPLD():void
{
    helpPPLT= 600;
    helpPPL = true;
    var tempHelpPPL:MovieClip;
    tempHelpPPL = new savePpl();
    tempHelpPPL.y = stage.stageHeight /2;
    tempHelpPPL.x = stage.stageWidth /2;
    addChild(tempHelpPPL);
    signs.push(tempHelpPPL);
}

Und hier ist mein main-code :

import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.text.engine.SpaceJustifier;
import flashx.textLayout.operations.MoveChildrenOperation;
import flash.utils.Timer;
import flashx.textLayout.accessibility.TextAccImpl;

/*
CODE BY: 
START DATE: 12.06.2013.
FINISH DATE: TBA

NOTE: My secound video game ever.

BUGs:
-obsticle collison stops working after some time playing
-passing coin gives you more than 5 coins
*/

/***..........................VARs.........................................................................***/
    var STATE_START:String="STATE_START";
    var STATE_START_PLAYER:String="STATE_START_PLAYER";
    var STATE_PLAY:String="STATE_PLAY";
    var STATE_END:String="STATE_END";
    var gameState:String;

    //Player
        var player:MovieClip;
        var playerSpeed:Number;
        var speedLimit:Number;
        var speedLimitInc:Number;

    //score
        var score:Number= 1;
        var scoreInc:Number= 1;

    //coins
        var coins:Number= 1;
        var balance:Number;
        var coinCount:Number= 1;
        var Coins:Array;
        var doubCoins:Boolean = false;
        var multiplier:int = 1;
        var coinMake:Number = 60;

    //distance
        var meters:Number= 1;
        var distance:Number= 1;

    //holds drops
        var drops:Array; 

    //terrain
            //decides spawning time
        var GenS:Number=1;
            //holds terrain
        var terrain:Array;

    //boost
            //holds the speedBoosts that are happening
        var boost:Array;
            //holds boost dysp obj.
        var booost:Array;
            //holds speedBoost duration
        var Boost:Number;
            //collision on/off
        var colBoolean:Boolean=true;
        var hyperBoost:Array;

    //obsticles
        var obsticles:Array;

    //other
        var level:Number= 1;
        var levelCount:Number= 1;
        var birdArray:Array;
        var jumpState:Boolean = false;
        var jumpStateT:int;
        var jumps:Array;

    //powerUps
        var watchOut:Boolean = false;
        var watchOutT:int;
        var blowOut:Boolean = false;
        var blowOutT:int;
        var planeT:int;
        var birdT:int;
        var birdSet:int = 300;
        var havenT:int;
        var trickster:Boolean = false;
        var tricksterT:int;
        var ppl:Array;
        //pplStat tells if ppl are getting hurt or need help, if ture, it means you are gonna run them over
        var pplStat:Boolean = true;
        var rampage:Boolean;
        var rampageT:int;
        var helpPPLT:int;
        var helpPPL:Boolean;
        var signs:Array;


/***.......................Display SETUP...................................................................***/
    homeScreen.visible = true;
    gamePlay.visible = false;
    endScreen.visible = false;

/***........................Start Screen...................................................................***/
    homeScreen.play_BTN.addEventListener(MouseEvent.CLICK, clickPlay);
    homeScreen.settings_BTN.addEventListener(MouseEvent.CLICK, clickSettings);
    function clickPlay(event:MouseEvent):void
    {
        //Move main screen from stage
        homeScreen.visible = false;

        //Begin loading the game
        gameState = STATE_START;
        trace (gameState);
        addEventListener(Event.ENTER_FRAME, gameLoop);
    }

    function clickSettings(event:MouseEvent):void
    {
        //Move main screen from stage
        homeScreen.visible = false;
        //settingsScreen.visible...
    }


/***...........................Game LOOP...................................................................***/

    function gameLoop(e:Event):void
    {
        switch(gameState)
        {
            case STATE_START:
                startGame();
                break;

            case STATE_START_PLAYER:
                startPlayer();
                break;

            case STATE_PLAY:
                playGame();
                break;

            case STATE_END:
                endGame();
                break;

        }
    }


/***...............STATE_START.............................................................................***/

    function startGame():void
    {
        level = 1;
        playerSpeed = 1;
        speedLimit = 10;
        speedLimitInc = 1;

        //Graphics
            //coins
        Coins = new Array();
            //player icon
        player = new Player(); 
            //start obsticles array
        obsticles = new Array();
            //holds terrain (speedUps, jupms, etc)
        terrain = new Array();
            //holds speedUps
        boost = new Array();
        booost = new Array();
        hyperBoost = new Array();
            //other
        drops = new Array();
        birdArray = new Array();
        jumps = new Array();
        ppl = new Array();
        signs = new Array();

        gameState = STATE_START_PLAYER;
        trace(gameState);
    }

/***....................STATE_START_PLAYER................................................................***/

    function startPlayer():void
    {
        //start the player
        //set possition of player
        player.y = player.height + 10;
        addChild(player);
        addEventListener(Event.ENTER_FRAME, movePlayer);

        //changing screens

        //start game
        gameState = STATE_PLAY;
        trace(gameState);


    }

    //player controll
    function movePlayer(e:Event):void 
    {
        //mouse\touch recognition
        player.x = stage.mouseX;

        //making sure player does not move out of the stage
        if (player.x < 0)
        {
            player.x = 0;
        }
        if (player.x > (stage.stageWidth - 2/player.width))
        {
            player.x = stage.stageWidth + 2/player.width;
        }
    }

/***............................STATE_PLAY................................................................***/
    function playGame():void
    {
        if (watchOutT <= 0) {watchOut = false}
        if (blowOutT <= 0) {blowOut = false}
        if (planeT <= 0) {colBoolean = true}
        if (tricksterT <= 0) {trickster= false}
        if (havenT <= 0) {coinMake = 60}
        if (birdT <= 0) {birdSet = 300}
        if (planeT >= 0) {planeT-- } birdT
        if (havenT >= 0) {havenT-- }
        if (birdT >= 0) {birdT-- }
        if (tricksterT >= 0) {tricksterT-- }
        speedUp();
        metersCount();
        scoreCount();
        makeCoins();
        moveCoins();
        makeTerrain();
        moveDrop();
        makeBird();
        moveBird();
        moveJump();
        moveSigns();
        movePPL();
        stunts();
        //speed boost
        moveSpeedBoost();
        //obsticles
        moveObsticle();
    }

    function metersCount():void
    {
        meters = meters + playerSpeed;
        distance = meters / 50;
        if (distance >= 1000 && distance <= 1200)
        {
            levelCount= 1000; 
            level = 2; 
        }
        if (distance >= (levelCount + 1000) && distance <= (levelCount + 1200))
        {
            level++;
            levelCount= levelCount + 1000;
        }
        trace("level", level);
        trace("meters", meters);
        trace("coins", coins);
        trace("distance", distance);
    }

    function scoreCount():void
    {
        if (scoreInc >= 30) { score++; scoreInc=1; trace("-score", score); }
        scoreInc++
    }

    function makeCoins():void
    {
        trace("coinCount", coinCount);
        if (coinCount == coinMake) 
        {
            var tempCoin:MovieClip;
            //generate enemies
            tempCoin = new Coin();
            tempCoin.speed = playerSpeed;
            tempCoin.x = Math.round(Math.random()*400);
            tempCoin.y = stage.stageHeight;

            addChild(tempCoin);
            Coins.push(tempCoin);
            coinCount = 1;
        }
        coinCount++;
    }

    function moveCoins():void
    {
        var j:int;
        var tempCoin:MovieClip;
        for(var i:int = Coins.length-1; i>=0; i--)
        {
        tempCoin = Coins[i];
        tempCoin.y = tempCoin.y - playerSpeed;
        }

        //testion colision with the player and screen out
        if (tempCoin != null)
        {
            if (tempCoin.y > stage.stageHeight)
            {
                removeCoin(i);
            }
            if (tempCoin.hitTestObject(player))
            {
                if (i != j && doubCoins == false) {coins = coins + 5; j = i;}
                if (i != j && doubCoins == true) {coins = coins + 10; j = i;}
                removeCoin(i);
            }
        }
    }
    function speedUp():void
    {
        trace ("speed", playerSpeed);
        //checks if any boosts are on
        var k:Boolean;
        //making speed limit
        if (playerSpeed < speedLimit)
        {
            playerSpeed ++;
            if (k == true) {j++}
        }

        //increasing speed limit
        if (speedLimitInc == 100)
        {
            speedLimit ++;
            speedLimitInc = 1;
        }
        speedLimitInc ++;


        var j:Number;
        j = playerSpeed;
        for (var i:int = boost.length-1; i>=0; i--)
        {
            if (tempBoostN >= 0)
            {k = true; colBoolean = true;}
            else 
            {
                k = false;
                player.y = player.height + 30;
            }
            var tempBoostN = boost[i];
            if (playerSpeed >= j)
                {
                if (tempBoostN >= 150)
                {
                    playerSpeed = playerSpeed -1;

                } else if (tempBoostN <= 150 && tempBoostN >= 30) {
                    playerSpeed = playerSpeed - 2;
                }
                tempBoostN--;
            }
        }

        var l:Number;
        l = playerSpeed;
        for (var i:int = boost.length-1; i>=0; i--)
        {
            if (tempBoostN >= 0)
            {k = true; colBoolean = true;}
            else 
            {
                k = false;
                player.y = player.height + 30;
            }
            var tempBoostH = hyperBoost[i];
            if (playerSpeed >= l)
                {
                if (tempBoostH >= 150)
                {
                    playerSpeed = playerSpeed -1;

                } else if (tempBoostN <= 150 && tempBoostH >= 30) {
                    playerSpeed = playerSpeed - 2;
                }
                tempBoostH--;
            }
        }
    }

    function makeBos():void
    {
        var tempBoost:MovieClip;

        tempBoost = new speedPod();
        if (tempBoost != null)
        {
            tempBoost.y = stage.stageHeight;
            tempBoost.x = Math.round(Math.random()*400);
            booost.push(tempBoost);
            var i = getChildIndex(player);
            addChild(tempBoost);
            setChildIndex (tempBoost, i);
        }
    }

    function moveSpeedBoost():void
    {
        var tempBoost:MovieClip;
        for(var i:int = booost.length-1; i>=0; i--)
        {
            tempBoost = booost[i];
            tempBoost.y = tempBoost.y - playerSpeed;
        }

        //test if Boost is off-stage and set it to remove
        if (tempBoost != null && tempBoost.y < stage.stageHeight)
        {
            removeSpeedBoost(i);
        }

        //player-Boost colision
        if (tempBoost != null && tempBoost.hitTestObject(player))
        {
            Boost = 200;
            playerSpeed = playerSpeed + 100;
            player.y = player.y + 200;
            colBoolean = false;
            boost.push(Boost);
        }
    }

    function makeTerrain():void
    {
        if (GenS == 29)
        {
            GenS = 1;
            var genType:Number = Math.floor(Math.random()*100);

            //POWERUPS
                //handling watchout powerup
                if (watchOut = true){watchOutT--; makeObs();}
                //handling blowout powerup
                if (blowOut = true){blowOutT--;}
                //handling trickster powerup
                if (trickster = true){makeJump();}
                //handling rampage powerup
                if (rampage = true){makePPL(0); rampageT--;}
                //handling hurtPPL powerup
                if (hurtPPL = true){makePPL(1); hurtPPLT--;}

            //general spawning
            if (genType >= 1 && genType <=20 && watchOut == false && blowOut == false && trickster == false)
            {
                trace("makeObs");
                makeObs();
            }else if (genType >= 20 && genType <=60 && watchOut == false && blowOut == false && trickster == false)
            {
                trace("makeBos");
                makeBos();
            }else if (genType >= 60 && genType <=65 && watchOut == false && blowOut == false && trickster == false)
            {
                trace("makeDrop");
                makeDrop();
            }else if (genType >= 65 && genType <=100 && watchOut == false && blowOut == false && trickster == false)
            {
                trace("make jump");
                makeJump();
            }
        }
        GenS++;
    }

    function makeObs():void
    {
        var tempObs:MovieClip;
        //determining the type of an obsticle
        var typeObs:Number = Math.floor(Math.random()*3);
        switch (typeObs)
        {
            case 0:
                tempObs = new wLog();
                break;
            case 1:
                tempObs = new Spill();
                break;
            case 2:
                tempObs = new wTree();
                break;
        }
        if (tempObs != null)
        {
            tempObs.y = stage.stageHeight;
            tempObs.x = Math.round(Math.random()*400);
            addChild(tempObs);
            obsticles.push(tempObs);
        }
    }

    function makePPL():void
    {
        var tempPPL:MovieClip;
        if (hurtPPL = true)
        {tempPPL = new personHurt();}
        else {tempPPL = new person();}
        tempPPL.y = stage.stageHeight;
        tempPPL.x = Math.round(Math.random()*400);
        addChild(tempPPL);
        ppl.push(tempPPL);
    }

    function movePPL():void
    {
        //move enemies
        var tempPPL:MovieClip;
        for(var i:int = ppl.length-1; i>=0; i--)
        {
            tempPPL = ppl[i];
            tempPPL.y = tempPPL.y - playerSpeed;
        }

        //test if obsticle is off-stage and set it to remove
        if (tempPPL != null && tempPPL.y < stage.stageHeight)
        {
            removePPL(i);
        }

        //player-obsticle colision
        if (tempPPL != null && tempPPL.hitTestObject(player) && hurtPPL = true)
        {
            score = score + 1000;
            coins = coins + 1000;
            var tempSaved:MovieClip;
            tempSaved = new savedPerson();
            tempSaved.y = stage.stageHeight /2;
            tempSaved.x = stage.stageWidth /2;
            addChild(tempSaved);
            signs.push(tempSaved);
            trace ("person saved");
            removePPL(i);

        } else if (tempPPL != null && tempPPL.hitTestObject(player)) 
        {
            score = score - 1000;

            var tempRanOver:MovieClip;
            tempRanOver = new ranOver();
            tempRanOver.y = stage.stageHeight /2;
            tempRanOver.x = stage.stageWidth /2;
            addChild(tempRanOver);
            signs.push(tempRanOver);
            trace ("ran over a person");
            removePPL(i);
        }
    }

    function moveSigns():void
    {
        //move enemies
        var tempSign:MovieClip;
        for(var i:int = signs.length-1; i>=0; i--)
        {
            tempSign = signs[i];
            tempSign.y = tempSign.y - playerSpeed;
        }

        //test if obsticle is off-stage and set it to remove
        if (tempSign != null && tempSign.y < stage.stageHeight)
        {
            removeSign(i);
        }
    }

    function makeDrop():void
    {
        var tempDrop:MovieClip;
        tempDrop = new Drop();
        tempDrop.y = stage.stageHeight;
        tempDrop.x = Math.round(Math.random()*400);
        addChild(tempDrop);
        drops.push(tempDrop);

    }

    function moveDrop():void
    {
        //move enemies
        var tempDrop:MovieClip;
        for(var i:int = drops.length-1; i>=0; i--)
        {
            tempDrop = drops[i];
            tempDrop.y = tempDrop.y - playerSpeed;
        }

        //test if obsticle is off-stage and set it to remove
        if (tempDrop != null && tempDrop.y < stage.stageHeight)
        {
            removeDrop(i);
        }

        //player-obsticle colision
        if (tempDrop != null && tempDrop.hitTestObject(player))
        {
            powerUp();
        }
    }

    function makeBird():void
    {
        if (distance >= 200)
        {
            var chance:Number = Math.floor(Math.random()*birdSet);
            if (chance <= 1 + level) 
            {
                var tempBird:MovieClip;
                //generate enemies
                tempBird = new BirdO();
                tempBird.speed = 60 + playerSpeed;
                tempBird.x = Math.round(Math.random()*400);

                addChild(tempBird);
                birdArray.push(tempBird);
            }
        }
    }

    function moveBird():void
    {
        var tempBird:MovieClip;
        for(var i:int = birdArray.length-1; i>=0; i--)
        {
            tempBird = birdArray[i];
            tempBird.y -= tempBird.speed;
            }

        if (tempBird != null)
        {
            if (tempBird.y > stage.stageHeight)
            {
                removeBird(i);
            }

            if (tempBird.hitTestObject(player))
            {
                gameState = STATE_END;
            }
        }
    }

    function powerUp():void
    {
        var dropType:Number = Math.floor(Math.random()*16);
        switch (dropType)
        {
            case 0:
                trace("extra coins");
                extraCoins();
                break;

            case 4:
                trace("2x coins");
                doubleCoins();
                break;

            case 2:
                trace("hyper boost");
                hyperBoostD();
                break;

            case 3:
                trace("boost");
                BoostD();
                break;

            case 4:
                trace("multiplier 1x");
                multiplierDone();
                break;

            case 5:
                trace("multiplier 2x");
                multiplierDtwo();
                break;

            case 6:
                trace("watch out!");
                watchOutD();
                break;

            case 7:
                trace("blowout");
                blowOutD();
                break;

            case 8:
                trace("plane");
                planeD();
                break;

            case 9:
                trace("haven");
                havenD();
                break;

            case 10:
                trace("bad bird");
                badBirdD();
                break;

            case 11:
                trace("trickster");
                tricksterD();
                break;

            case 12:
                trace("rampage");
                rampageD();
                break;

            case 13:

                break;

            case 14:

                break;

            case 15:

                break;

            case 16:

                break;

        }

    }

    function makeJump():void
    {
        var tempJump:MovieClip;
        tempJump = new Jump();

        tempJump.speed = playerSpeed;
        tempJump.x = Math.round(Math.random()*400);

        addChild(tempJump);
        jumps.push(tempJump);
    }

    function moveJump():void
    {
        var tempJump:MovieClip;
        for(var i:int = jumps.length-1; i>=0; i--)
        {
            tempJump = jumps[i];
            tempJump.y = tempJump.y - playerSpeed;
        }

        //test if obsticle is off-stage and set it to remove
        if (tempJump != null && tempJump.y < stage.stageHeight)
        {
            removeJump(i);
        }

        //player-obsticle colision
        if (tempJump != null && tempJump.hitTestObject(player))
        {
            jumpState = true;
            jumpStateT = 100;
        }
    }

    function stunts():void
    {
        if (jumpStateT >= 0)
        {
            jumpStateT--;
            jumpState = true;
        }
        if (jumpState = true)
        {
            Multitouch.inputMode = MultitouchInputMode.GESTURE;
            stage.addEventListener (TransformGestureEvent.GESTURE_SWIPE, fl_SwipeHandler);
        }
    }

    function fl_SwipeHandler(event:TransformGestureEvent):void
    {
        switch(event.offsetX)
        {
            //swiped right
            case 1:
            {
                //My code
                trace ("side flip");
                score = score + 1000;
                coins = coins + 500;
                break;
            }
            //swiped left
            case -1:
            {
                //My code
                trace ("barell roll");
                score = score + 1000;
                coins = coins + 500;
                break;
            }
        }

        switch(event.offsetY)
        {
            //swiped down
            case 1:
            {
                trace ("front flip");
                score = score + 1000;
                coins = coins + 500;
                break;
            }
            //swiped up
            case -1:
            {
                trace ("side flip");
                score = score + 1000;
                coins = coins + 500;
                break;
            }
        }
    }

    function moveObsticle():void
    {
        //move enemies
        var tempObs:MovieClip;
        for(var i:int = obsticles.length-1; i>=0; i--)
        {
            tempObs = obsticles[i];
            tempObs.y = tempObs.y - playerSpeed;
        }

        //test if obsticle is off-stage and set it to remove
        if (tempObs != null && tempObs.y < stage.stageHeight)
        {
            removeObsticle(i);
        }

        //player-obsticle colision
        if (tempObs != null && tempObs.hitTestObject(player))
        {
            gameState = STATE_END;
        }
    }

/*REMOVING BS FROM STAGE*/
//remove obsticle
function removeObsticle(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(obsticles[idx]);
        obsticles.splice(idx, 1);
    }
}

function removeTer(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(terrain[idx]);
        terrain.splice(idx, 1);
    }
}

function removeSpeedBoost(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(boost[idx]);
        boost.splice(idx, 1);
    }
}

function removeCoin(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(Coins[idx]);
        Coins.splice(idx, 1);
    }
}

function removeDrop(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(drops[idx]);
        drops.splice(idx, 1);
    }
}

function removeBird(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(birdArray[idx]);
        birdArray.splice(idx, 1);
    }

function removeJump(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(jumps[idx]);
        jumps.splice(idx, 1);
    }
}

function removePPL(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(ppl[idx]);
        ppl.splice(idx, 1);
    }
}

function removeSigns(idx:int):void 
{
    if(idx >= 0)
    {
        removeChild(signs[idx]);
        signs.splice(idx, 1);
    }
}
/***.........................STATE_END....................................................................***/

    function endGame():void
    {
        gamePlay.visible = false;
        endScreen.visible = true;
    }

Habe ich mal überprüft und mal wieder für jede syntax fehlt und haben es versäumt, ein problem zu finden.

Ich gesehen habe, einen Mann zu Fragen, eine Frage, die hier zu ähnlichen Fehler und es stellt sich heraus, seine Raven nicht ein syntax Fehler, er immer noch nicht beheben das problem.

Habe ich auch eingerückt, alle Codes richtig und Raven verwendet "auto-format" in flash pro cs6, um zu sehen, wenn es schreit, alle Syntaxfehler und es nicht.

Im machen ein mobile-Spiel, so dass der gesamte code, der ausgeführt wird in der folgenden Umgebung:

AIR 3,2 für android
Und natürlich als 3.0

Vielen Dank im Voraus.

InformationsquelleAutor Dominiko | 2013-06-25
Schreibe einen Kommentar