ASでコールバック関数を使用する

3129 ワード

XMLや画像などを1つのクラスでロードしたい場合は、XMLやBitmapを返したい場合は、クラスのコンストラクション関数で直接returnすることはできません.returnの可能性がある場合はloadが終わっていないため、空に戻ることが多いので、コールバック関数を使用したり、DispatchEventを使用したりすることができます.小さなプログラムであれば、コールバック関数を試してみてください.簡単で実用的です.コードは以下の通りです.
 public class LoadXML
{
private var fBack:Function ;
 
public function LoadXML( url :String , fBackIn:Function )
{
fBack = fBackIn;
var xmlLoader:URLLoader = new URLLoader( ) ;
xmlLoader.load ( new URLRequest( url ) ) ;
xmlLoader.addEventListener ( Event.COMPLETE , loadComplete) ;
}
private function loadComplete( e :Event) :void
{
trace ( "XML loaded OK" ) ;
var xmlData:XML = new XML ( e .target .data ) ;
fBack( xmlData) ;
}
 
}
, XML