See example below:
//Main.as
package {
import flash.display.Sprite;
public class Main extends Sprite
{
public static var mainInstance:Main;
private var _child:Other;
public function Main()
{
mainInstance = this;
_child = new Other();
}
public function foo():void
{
trace("hello from document class");
}
}
}
//Other.as
package {
import flash.display.MovieClip;
public class Other {
public function Other()
{
Main.mainInstance.foo();
}
}
}
You can use getter if you don't want to expose the variables.