title: AS 3.0: Calling a method, which is defined in another class, from Main class gives Error 1120
body: <p>I have two classes.  The Main class calls a function, which is defined in a Second class.  I'm getting the following error:
  Error 1120: Access of undefined property myFunction</p>
  
  <p>Basically, I am creating buttons in the Main class that will add a corresponding Child to an Object in the Second class (if you click one button, child x1 will be added, if you click another button, child x2 will be added, and so forth).</p>
  
  <p>Here's the relevant code for the Main.as file:</p>
  
  <pre><code>package
  {   
      import flash.display.MovieClip;
      import flash.events.Event;
      import flash.events.MouseEvent;         
      public class Main extends MovieClip {
          private var x1:X1 = new X1();
          private var x2:X2 = new X2();
  
          public function Main():void {
              addPlayers();           
          }
  
          public function addPlayers():void {
              addChild(x1);
              addChild(x2);
              x1.x=325;
              x1.y=5;
              x2.x=366;
              x2.y=5;
  
              x1.label = "dog";
              x2.label = "cat";
  
              x1.addEventListener(MouseEvent.CLICK, selectPlayer);
              x2.addEventListener(MouseEvent.CLICK, selectPlayer);
          }       
      }
  }
  </code></pre>
  
  <p>The Second.as file code is:</p>
  
  <pre><code>package  
  {
      import flash.display.MovieClip;
      import flash.events.Event;
      import flash.events.EventDispatcher;
      import flash.events.MouseEvent;
  
      public class Second extends MovieClip
      {
          public var myVar:MyVar = new MyVar();
  
          public function Second():void
          {   
              addChild(myVar);                        
          }
  
          private var mc_x1:Mc_x1 = new Mc_x1();
          private var mc_x2:Mc_x2 = new Mc_x2();      
  
          public function selectPlayer(event:MouseEvent):void
          {
              if (Game(this.parent).turn == 0) {
                  myVar.addChild(mc_x1);
              } else {        
              switch (event.currentTarget.label) {
              case "dog":
              myVar.addChild(mc_x1);
              break;
              case "cat":
              myVar.addChild(mc_x2);
              break;
              default:
              myVar.addChild(mc_x1);
              }
              }   
          }   
      }   
  }
  </code></pre>
  
  <p>i've tried defining a new variable as a public static var and that hasn't worked.  i've also tried to import the Second class in the Main class and that didn't work either.  any thoughts?
  thank you!</p>