Creo que no es necesario hacer un array "_global". Si declarás el array fuera de la función y no lo redeclarás dentro, vas a estar referenciando el que está afuera de la función. Otra opción (la más prolija) es que la función devuelva el array y lo recojas en una variable. Aún así, podés usar cualquiera de las tres opciones en la mayoría de los casos.
Un ejemplo, con las tres opciones:
(.fla)
Código:
#include "array_global.as" // No poner ; acá
test();
testGlobal();
recogeReturn = testReturn();
trace ("arr_test= "+arr_test);
trace("arr_global= "+_global.arr_global);
trace("recogeReturn= "+recogeReturn);
(array_global.as)
Código:
var arr_test:Array = new Array();
var arr_return:Array = new Array();
_global.arr_global = new Array();
function test() {
for (var i:Number=0;i<2;i++) {
arr_test[i] = i.toString();
}
}
function testGlobal () {
for (var i:Number=0;i<2;i++) {
arr_global[i] = i.toString();
}
}
function testReturn () {
for (var i:Number=0;i<2;i++) {
arr_return[i] = i.toString();
}
return arr_return;
}
Suerte