Search code examples
actionscript-3

Starling/AS3 - 1084: Syntax error: expecting leftbrace before leftparen


I honestly can't see what I am missing! Everything adds up however it seems my public class GameBackground is not closing properly, please help! I must have been staring at this for so long I can't see what is right in front of me!

package  com./////./////.objects
{
    import starling.display.Sprite;
    import starling.events.Event;

        public class GameBackground extends Sprite
    (

        private var bgLayer1:BgLayer;
        private var bgLayer2:BgLayer;
        private var bgLayer3:BgLayer;
        private var bgLayer4:BgLayer;

        private var _speed:Number = 0;


        public function GameBackground() 
        {

            super();

            this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

        }


        private function onAddedToStage(event:Event):void
        {

            this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

            bgLayer1 = new BgLayer(1);
            bgLayer1.parallax = 0.02;
            this.addChild(bgLayer1);

            bgLayer2 = new BgLayer(2);
            bgLayer2.parallax = 0.2;
            this.addChild(bgLayer2);

            bgLayer3 = new BgLayer(3);
            bgLayer3.parallax = 0.5;
            this.addChild(bgLayer3);

            bgLayer4 = new BgLayer(4);
            bgLayer4.parallax = 1;
            this.addChild(bgLayer4);

            this.addEventListener(Event.ENTER_FRAME, onEnterFrame);

        }

        private function onEnterFrame(event:Event):void
        {
            bgLayer1.x -= Math.ceil(_speed * bgLayer1.parallax);
            if(bgLayer1 < -stage.stageWidth)
            {
                 bgLayer1.x = 0;
             }                              
             bgLayer2.x -= Math.ceil(_speed * bgLayer2.parallax);
             if(bgLayer2 < -stage.stageWidth)
             {
                  bgLayer2.x = 0;
              } 
              bgLayer3.x -= Math.ceil(_speed * bgLayer3.parallax);
            if(bgLayer3 < -stage.stageWidth)
            {
                bgLayer3.x = 0;
            }   
            bgLayer4.x -= Math.ceil(_speed * bgLayer4.parallax);
            if(bgLayer4 < -stage.stageWidth)
            {
                bgLayer4.x = 0;
            }
        }

         public function get speed():Number
        {
            return _speed;  
        }

        public function set speed(value:Number):void
        {
            _speed = value;         
        }  
      }
}

Solution

  • Under your class declaration you have a parentheses instead of a bracket. Enabled "permit debugging" to get line numbers and other useful information