2011-06-14 64 views
0

我有個問題讓我發瘋。我有一個DIRECTORY_LISTING事件,用目錄中的文件執行。這個代碼是一個類的方法,它只返回一個包含這些信息的數組(代碼如上)。如何在DocumentClass中調用並接收此值的方法上添加此數組的返回值?從事件返回數組AS3

//Lista arquivos 
public function listaArquivos(diretorio:File, nome_arquivo:String, 
           lista_molduras:Array, index:int):Array { 
    //Tenta fazer tudo isso 
    try{ 
     //Seta o diretoório de molduras 
     var directory = diretorio; 
     directory.getDirectoryListingAsync(); 
     directory.addEventListener(FileListEvent.DIRECTORY_LISTING,listaHandler); 

     //Percorre arquivos 
     function listaHandler(evento):void { 
      //Contador 
      var i:int = 0; 
      //Conteúdo 
      var contents = evento.files; 
      for (i = 0; i < contents.length; i++) { 
       var nome:String = contents[i].name; 
       var nome_array:Array = new Array(); 
       nome_array = nome.split("_"); 
       //Formata para ordenar 
       arquivos_animacao.push ({nome:contents[i].name, 
        tamanho:contents[i].size, ordem:nome_array[0]}); 
      } 
      //Ordena para a ordem de númeração 
      arquivos_animacao.sortOn("ordem", Array.NUMERIC); 
      lista_molduras[index] = arquivos_animacao; 
     } 
    } catch(erro:ReferenceError) { 
    } 
    return lista_molduras; 
} 
+0

你的意思是說你想分派一個附有數組的事件嗎?如果是這樣,我可以提供一些示例代碼和解釋如何做到這一點。 – Marty 2011-06-14 23:44:07

回答

0

var arListaArquivos:Array = listaArquivos();

+0

對不起2smacks,但我alredy做到這一點接收的價值,並始終爲空,因爲我有事件(listaHandler),這不會返回值。如果我從Document Class中獲得peropertie,也總是爲null,因爲listaHandler還沒有完成。 – Marcos 2011-06-14 23:34:39