RSS

Blog in Low-Room

2010
12/16

0

AS3.0復習19【Loader,URLLoader】

Category : AS/Flash, Web | Tagged :

外部ファイル(画像、動画、xmlなど)の読み込みには、LoaderやURLLoaderクラスを使用する。
読み込むファイルやデータの情報 (URL)は、URLRequestクラスを使用してLoaderやURLLoaderクラスに渡す必要がある。


Loaderクラス
JPG、GIF、PNGなどの画像データ、SWFなどの動画データを読み込む場合
外部ファイル読み込みの流れ

  1. 読み込むファイルのURLデータを、URLRequestクラスでLoaderクラスに渡す
  2. ファイルを表示させるためのaddEventListenerを、LoaderのプロパティcontentLoaderInfoに登録する
  3. contentLoaderInfoから、イベントを発行する

イベントリスナーは、Loaderクラスが持つcontentLoaderInfoプロパティに登録する。

//Loaderクラスの初期化
var myLoader = new Loader();

//外部ファイルloadImage.pngをURLRequestクラスで読み込む
var myRequest = new URLRequest("loadImage.png");

//変数myLoaderに変数myRequestを読み込む
myLoader.load(myRequest);

var myButton:button = new button;
myButton.x = stage.width/2;
myButton.y = stage.height/2;
myButton.buttonMode = true;

stage.addChild(myButton);

function imageLoad (e:MouseEvent) {
	//ステージに変数myLoaderを配置
	stage.addChild(myLoader);
	parent.removeChild(myButton);
}

myButton.addEventListener (MouseEvent.CLICK, imageLoad);

クリックで外部データの画像が読み込まれます。

This movie requires Flash Player 9


URLLoaderクラス
xmlなど、主にテキストデータを読み込む場合
外部ファイル読み込みの流れ

  1. 読み込むファイルのURLデータを、URLRequestクラスでURLLoaderクラスに渡す
  2. 読み込んだURLデータのフォーマット(dataFormat)を、URLLoaderDataFormatクラスなどで指定する
  3. ファイルを表示させるためのaddEventListenerを、URLLoaderクラスに登録する
  4. URLLoaderから、イベントを発行する

下記の様な内容の、xmlを読み込む場合

<?xml version="1.0" encoding="UTF-8"?>
<data>
 <item name="A"><![CDATA[おはようございます!]]></item>
 <item name="B"><![CDATA[こんにちわ!]]></item>
 <item name="C"><![CDATA[こんばんわ!]]></item>
</data>
//URLLoaderクラスの初期化
var urlLoader = new URLLoader();

//URLのデータフォーマットを指定
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;

//URLRequestクラスで外部ファイルを読み込み
var urlRequest = new URLRequest("loadXML.xml");

//変数myLoaderに変数myRequestを読み込む
urlLoader.load(urlRequest);

//読み込み完了イベントの受け取り
function loadComplete (e) {
	var textData = e.target.data;

	//読み込んだxmlを解析
	//xmlオブジェクトを作成
	var xml = new XML(textData);

	//itemノードのname属性を取得
	for each(var itemXML in xml.item){
		trace("name:"+itemXML.@name);
		trace("text:"+itemXML.text());
	}
}

urlLoader.addEventListener(Event.COMPLETE, loadComplete);

出力結果は
name:A
text:おはようございます!
name:B
text:こんにちわ!
name:C
text:こんばんわ!


ノード(タグ)を取得するための記述は、文法を覚えるしかないと思われます。

変数名.@タグ名
変数名.text();



twitter

twitter

PAGE TOP

Proudly powered by WordPress.