0
votes

I'm trying to do something very basic, add a movie clip from the library to the stage. I created a class called link that extends MovieClip. I have two movie clips in the library, the first one that is initially loaded contains buttons that should remove the first movie clip and load the second. However, I am unable to load the second using addChild(). I'm hoping that there is something obvious that I'm missing. I'm fairly new to AS3. Here is the code from the link class:

package classes.GEN1P0
{
import flash.display.SimpleButton;
import flash.display.*;
import flash.events.*;
import fl.controls.*;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

    public class link extends MovieClip
        {
            public var links:Vector.<SimpleButton >  = new Vector.<SimpleButton >;
            public var sourceMap:redMC = new redMC  ;
            public var sourceMap2:blueMC = new blueMC  ;
            public var panZoomMap:PanZoomMap = new PanZoomMap(sourceMap,704,556.3);
            public var diagram:PanZoomMap = new PanZoomMap(sourceMap2,704.45,556.3);
            public var zoomControls:ZoomControls = new ZoomControls(panZoomMap);
            public var zoomControls2:ZoomControls = new ZoomControls(diagram);
            public var navWindow:NavigatorWindow = new NavigatorWindow(panZoomMap);
            public var navWindow2:NavigatorWindow = new NavigatorWindow(diagram);

    public function link()
        {
        }
    /////////////////////////////
    //Vector for Links
    /////////////////////////////
    public function linkVector():void
    {
        for (var m:int = 0; m < 2; m++)
        {
            var linkNumb:SimpleButton = RunWise_GEN_1P0_Electrical_Schematic.sourceMap.panner.schematic.link_movies.getChildAt(m);
            if ((linkNumb is SimpleButton))
            {
                links.push(linkNumb);
                var linkName:String = links[m].name;
            }
        }
        for (var n:int = 0; n<links.length; n++)
        {
            links[n].addEventListener(MouseEvent.CLICK, linkTo);
        }
        function linkTo(e:Event):void
            {

                addChild(diagram);
                diagram.x = 291.35;
                diagram.y = 22.15;

                RunWise_GEN_1P0_Electrical_Schematic.panZoomMap.parent.removeChild(RunWise_GEN_1P0_Electrical_Schematic.panZoomMap);
                switch (e.target.name)
                  {
                  case "PPOS":
                  trace ("PPOS");
                  break;
                  case "PYKPOS":
                  trace ("PYKPOS");
                  break;
                  }

            }
    }
    //End Code Here
}

}

1

1 Answers

0
votes

Should be as simple as

var _link:link = new link();
addChild(_link);

Note: Typically when you create a Class in AS3 you use uppercase for the first letter of the Class name

public class Link extends MovieClip