AS1/2 で画像読込!となると MoviClipLoader・loadMovie に良くお世話になっていたと思います、AS3 ではそれらが Loader クラスというものに置き換わっています。
では、早速、gif画像を読んでみましょう。
swfと同階層にあるimage.gifを読み込む。
画像を読み込むときは、前述の通りLoaderクラスを使います。
また今回はただ画像を表示するだけですし
タイムラインを必要としないためMovieClipクラスではなく
Spriteクラスを使おうと思います。
なお、Spriteクラスについて詳しくはこちらを御参考ください。
「f-site:[AS3] new演算子でビジュアルオブジェクトをつくる」
Macromedia Flash非公式テクニカルノート : 「Spriteクラス」
さてそれでは、スクリプト書いてみます。
----
Flash9 Public Alpha アプリケーションで、AS3.0で制作してみます。
0.ファイルを作る
LoadImageAS3.flaを新規で制作します。
1.gif画像を配置する。
gif画像をflaと同階層に置きます。名前はimage.gif。
2.パッケージを作る。
pLoadImageAS3.asをflaと同じ階層に制作します。
内容は以下の通りです。
----
package {
// Spriteクラスの読込
import flash.display.Sprite;
// Loaderクラスの読込
import flash.display.Loader;
// URLRequestクラスの読込
import flash.net.URLRequest
public class pLoadImageAS3 extends Sprite {
public function pLoadImageAS3()
{
// 読み込むパス swfと同階層のimage.gif
var tURL:String = "image.gif";
// URLRequestクラスを 読み込むパス tURL を元に作る。
var urImage:URLRequest = new URLRequest( tURL );
// Loader(読込)オブジェクトを作成、設定。
var img:Loader = new Loader();
// URLRequestを読込に設定。
img.load( urImage );
// 表示させる。
addChild( img );
}
}
}
----
5.パッケージの結び付けを行う。
まず操作画面より
ファイル→パブリッシュ→Flash設定→ActionScriptのバージョン→設定ボタン
と操作を行います。
つづいて、Document class の欄を、「pLoadImageAS3」にしてOKを押します。
すると、このflashドキュメント自体がpLoadImageAS3クラスと結び付けられます。
6.パブリッシュしてみる。
画像が読み込まれます。
----
なお、Loaderクラスは、今回はGIFを読み込みましたが、GIF以外も読込可能です。
他には、SWFファイルはもちろん、JPEG・PNG 等のイメージデータを読み込むのにも使用します。
今回のソースでを書いていて私が気付いたところは
・AS3.0においての画像読み込みでは、Loaderというものが登場した。
・URLRequestも登場した。これはどうやら読込本体じゃなくて、URLのリクエスト系の管理だろう(英語名推測ですが。)
・最後は、表示させるために、addChildを使っている。
addChildについて:Macromedia Flash非公式テクニカルノート : 「DisplayObjectContainer.addChild()メソッド」
の3点です。
また、前回の「AS2.0/AS3.0と同じ動きをする実験」と比べると
おなじみのライブラリには何もなく使っていません。
パッケージ pLoadImageAS3 だけで完結しています。
「asファイルだけでも表示が出来てしまう。」
これもAS3.0では大きく違うなと思う、驚くところです。
そのあたりもご注目ください。
それでは、ご説明したサンプルソースも以下に置きます。
▲免責事項▼
このサンプルを使用した場合のいかなる損害も、
制作者 田中正吾 及び F-site は、その責を負いません。
ご自身の責任においてご使用ください。
今回もここまでお付き合いいただき、ありがとうございました。
この記事へのコメント
●1.saisi(2009年12月27日 16:50)
ありがとうございます!いろいろ探してもなかなかわからなかったのに、ソースダウンロードで謎がとけました!本当に感謝します!