a ver este es un script que funciona como globals para la carga y recogida de variables dentro de swf externo
Código PHP:
package com.cfx.utils{
[Bindable]
public class Global {
public var _var:Object={};
public var _class:Object={};
public var _function:Object={};
public static var TypeVar:String='_var';
public static var TypeClass:String='_class';
public static var TypeFunction:String='_function';
public var value:*;
private static var instance:Global;
public function Global() {
}
public static function setGlobal(value:Object,type:String):Global {
ini();
for (var prop in value) {
instance[type][prop]=value[prop];
}
return instance;
}
public static function getGlobal(name:String,type:String):Global {
ini();
if (instance[type][name]) {
instance.value=instance[type][name];
}
return instance;
}
public static function getType(type:String):Global {
ini();
instance.value=instance[type];
return instance;
}
private static function ini():void {
if (instance==null) {
instance=new Global ;
}
}
public static function get VAR():* {
ini();
return instance[TypeVar];
}
public static function get CLASS():* {
ini();
return instance[TypeClass];
}
public static function get FUNCTION():* {
ini();
return instance[TypeFunction];
}
public static function listName(type:String):Array {
ini();
var Names:Array=new Array
for (var prop in instance[type]) {
Names.push(prop);
}
return Names
}
public static function liberate():void {
ini();
instance[TypeFunction]=null
instance[TypeClass]=null
instance[TypeVar]=null
instance=new Global
}
}
}
por ejemplo en el swf principal creas una funcion como por ejemplo
Código PHP:
import com.cfx.utils.Global;
//funcion que quremos que sea global
function functionGlobalXXX (value:String):void{
trace(value)
}
//registramos la funcion
Global.setGlobal({funGxxx:functionGlobalXXX},Global.TypeFunction);
// ahora ya podemos ejecutar dicha funcion de esta manera
Global.FUNCTION.funGxxx('hola Mundo')
en el swf externo podemos ejecutar la misma fucnion de esta manera
Código PHP:
import com.cfx.utils.Global;
Global.FUNCTION.funGxxx('hola Mundo')//hola Mundo
para las variables es lo mismo
en el swf principal
Código PHP:
import com.cfx.utils.Global;
var miVariableGlobal:String='Hola Mundo'
Global.setGlobal({variable:miVariableGlobal},Global.TypeVar);
en el swf externo
Código PHP:
import com.cfx.utils.Global;
trace(Global.VAR.variable) //Hola Mundo
de esta manera puedes controlar variables globales y leerlas tanto de swf externo como de la pelicula principal