我是一個新的Flash AS3工作,但當我需要事件監聽器代碼時,使用某些OOP概念(如方法返回)時遇到了一個大問題。問題是Event Listener中的函數無法返回值。我該如何解決這個問題?這是我在AIR應用程序上使用的代碼示例。這個代碼我想在其他需要解析目錄文件的情況下重用。在AS3中加入ruturn的addEventListener - 如何?
private function initApp():void
{
try
{
// Seta o diretoório de molduras
var directory = diretorio_mestre.resolvePath("molduras/animacao");
directory.getDirectoryListingAsync();
directory.addEventListener(FileListEvent.DIRECTORY_LISTING, listaHandler);
}
catch (erro:ReferenceError)
{
mostraMensagem("Problemas com a listagem do diretório.", erro.errorID);
}
// 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);
// Continua o processo
// How can I return!?!?!
}
}
感謝您的回覆類,但它沒有。我想要一個方法將DIRECTORY_LISTING事件與結果同步,以便稍後使用該信息。如果我跟蹤事件的結果,我收到空,如果它沒有完成。我怎麼能告訴其他方法,這是完整的沒有返回? – Marcos 2011-05-20 18:16:05