public static const BINARY:String = "binary"
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ダウンロードされるデータを生のバイナリデータとして受信することを指定します。
public static const TEXT:String = "text"
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ダウンロードされるデータをテキストとして受信することを指定します。
public static const VARIABLES:String = "variables"
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ダウンロードされるデータを URL エンコード形式の変数として受信することを指定します。
次の例では、URLLoaderDataFormatExample クラスを使用して、実行時にロードされるファイルのデータフォーマットとステータス情報を表示します。ここでは以下の手順を実行します。
- クラスコンストラクタが
loader という URLLoader インスタンスと、ロードされるファイルの場所と名前である request という URLRequest インスタンスを作成します。
loader オブジェクトが configureListeners() メソッドに渡されます。このメソッドは、サポートされる各 URLLoader イベントのリスナーを追加します。
completeHandler() : complete イベントをリッスンします。このイベントは "TextFile.txt" が正常にロードされた後に送出されます。
openHandler() : open イベントをリッスンします。このイベントは "TextFile.txt" の (Flash Player への) ダウンロードの開始時に送出されます。
progressHandler() : progress イベントをリッスンします。このイベントはダウンロード処理を実行中にデータを受信したときに送出されます。
securityErrorHandler() : securityError イベントをリッスンします。このイベントは、ローカルでの再生に関するセキュリティを誤って設定してテキストファイルにアクセスした場合に送出されます。
httpStatusHandler() : httpStatusHandler イベントをリッスンします。この場合は "TextFile.txt" がローカル側にあるので、このイベントは送出されません。
ioErrorHandler() : ioError イベントをリッスンします。このイベントは、たとえばファイルが存在しないなど、ファイルに関して深刻な問題がある場合のみ発生します。
- 次に
request オブジェクトが loader.load() メソッドに渡されます。このメソッドは、DisplayObject オブジェクトを使用してテキストファイルをメモリにロードします。
メモ :
- [ローカルでの再生に関するセキュリティ] を [ローカルファイルにのみアクセスする] に設定して SWF ファイルをコンパイルする必要があります。
- この例では、"TextFile.txt" という名前のファイルが SWF ファイルと同じディレクトリに配置されている必要があります。この例を参照し、バイナリまたは URL エンコードデータファイルを識別する場合は、正しいデータ形式でファイルを提供し、"TextFile.txt" を新しいファイルの名前と場所に変更する必要があります。
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
public class URLLoaderDataFormatExample extends Sprite {
private var source:String = "TextFile.txt";
private var dataFormat:String = URLLoaderDataFormat.TEXT;
public function URLLoaderDataFormatExample () {
var loader:URLLoader = new URLLoader();
loader.dataFormat = dataFormat;
configureListeners(loader);
var request:URLRequest = new URLRequest(source);
try {
loader.load(request);
} catch (error:Error) {
trace("Error loading requested document: " + source);
}
}
private function configureListeners(dispatcher:URLLoader):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
switch(loader.dataFormat) {
case URLLoaderDataFormat.TEXT :
trace("completeHandler (text): " + loader.data);
break;
case URLLoaderDataFormat.BINARY :
trace("completeHandler (binary): " + loader.data);
break;
case URLLoaderDataFormat.VARIABLES :
trace("completeHandler (variables): " + loader.data);
break;
}
}
private function httpStatusHandler(event:Event):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
}
}