Hola chochito guardate esta clase bien guardadita en un archivo .as y llamalo Global.as
Código ActionScript :
package {
public class Global {
private var _data:Object;
private static var _self:Global;
public function Global() {
_data = new Object();
}
public static function getInstance():Global {
if(_self == null) {
_self = new Global();
}
return _self;
}
public function setValue(key:String, value:*):void {
_data[key] = value;
}
public function getValue(key:String):* {
return _data[key];
}
}
}
Despues desde tu swf principal importa dicha clase
Código ActionScript :
import Global;
var global:Global = Global.getInstance();
// y para diponer de cualquier metodo o variable desde cualquier lugar simplemente tienes que hacer lo siguiente
global.setValue("muestra", muestra);
var holder2:Loader = new Loader();
holder2.load(new URLRequest("Ventas/Mas Vendidos.swf"));
addChild(holder2);
function muestra(){
trace("funciona!");
}
Ahora en el segundo swf pones lo siguiente
Código ActionScript :
//Importas nuevamente la clase
import Global;
var global:Global = Global.getInstance();
//Recuperas la funcion
var muestra:Object = global.getValue("muestra");
var swf1Main_mc:MovieClip;
this.addEventListener(Event.ADDED_TO_STAGE, initF);
function initF(e:Event):void
{
swf1Main_mc = MovieClip(this.root);
swf1Main_mc.muestra();
//tambien podrias ejecutarlo directamente asi sin crear una variable object
//global.getValue("muestra")();
}
Puedes asignar o acceder a cualquier funcion o variable como global desde cualquier sitio y en cualquier momento.
Espero que te sirva saludos.