feb19.jp

Nobuhiro Takahashi
Designer / Engineer

FlashCS3でビットマップやムービー、XMLを読み込む方法

FlashCS3でビットマップやムービー、XMLを読み込む方法

ActionScript3.0では、loadMovie()やらMovieClipLoader()が無くなっててちょっと混乱したのでメモ。

ビットマップ/ムービーの読み込み

var filename:String = "feb19.jpg";
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest(filename);
loader.load(request);
var base:Sprite = new Sprite();
base.addChild(loader);
addChild(base);

読む込むにはLoaderオブジェクトと、URLをLoader用に変換する(というイメージの)URLRequestオブジェクトを使います。Loaderオブジェクトを読み込む側のSpriteオブジェクトにaddChildしてそのSpriteをaddChildするのがミソ。このコードで外部JPG/PNG/GIFとSWFを読み込む事が可能です。

XMLの読み込み

var filename:String = "feb19.xml";
var request:URLRequest = new URLRequest(filename);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, dataLoaded);
loader.load(request);
function dataLoaded(event:Event){
	trace(event.target.data);
}

LoaderオブジェクトではなくURLLoaderと、上と同じくURLRequestを使います。URLRequestをURLから作成して、その生成したURLRequestをURLLoaderで読み込みます。その後読み込み完了(Event.COMPLETE)イベントリスナーではevent.targetプロパティの中のdataプロパティにXMLが格納されているので、ここではtraceをして確認しています。

で、これらを外部クラスとして持つには・・・

できればこれをMVCモデルっぽくして外部クラスとして扱いたいのだけど、例えばメインのASをこいつらで拡張しておいて、XMLの方ならEvent.COMPLETEの時読み込むスーパークラスのメソッドを呼び出すというやり方で良いのかな?スーパークラスがVで、これがCという考え方。スコープとかどうなんのかしら。この辺はまだまだだなぁ。

Tweet Share Bookmark

Navigation

prev: getter/setterの意味が分かった
next: The New iPod touch, iPod Classic, iPod nano and iPod shuffle.

Recently Entries