2009-04-25(Sat) 15:58
[AS3.0]外部画像を読み込むときにローディング表示

画像読み込み時に何も表示されないのもあれなので、プログレスバーを表示させたいと思います。
準備としてはFlashで横長のMCを作ります。
今回は「ProgressBar_mc」という名前にしました。

package
{
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
	import flash.events.Event;

	public class Main extends Sprite
	{
		var ProgressBar:ProgressBar_mc = new ProgressBar_mc();
		var imgLoader:Loader = new Loader();
		//ステージセンター
		var stageX:int = stage.stageWidth / 2;
		var stageY:int = stage.stageHeight / 2;

		public function Main() {
            imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadComplete);
            imgLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadProgress);
            imgLoader.load(new URLRequest("img/img01.jpg"));
		}
		//ローディング中の処理
		private function loadProgress(e:ProgressEvent):void {
			addChild(ProgressBar);
			//プログレスバーの最大の長さを設定
			ProgressBar.width = (e.bytesLoaded / e.bytesTotal * 200);
			//プログレスバーのセンター合わせ
			ProgressBar.x = stageX - 100;
			ProgressBar.y = stageY - (ProgressBar.height / 2);
        }
		//読み込み終了後の処理
        private function loadComplete(e:Event):void {
			//プログレスバーを削除
			removeChild(ProgressBar);
			//イメージを表示
			addChild(imgLoader);
			//画像をセンターに合わせる
			imgLoader.x = stageX - (imgLoader.width/ 2);
			imgLoader.y = stageY - (imgLoader.height / 2);
        }
	}
}

contentLoaderInfoのPROGRESSイベントはダウンロード処理を実行中にデータを受信したときに送出されます。
あとはローディング中の処理を書くだけですね。

category : ActionScript
tag :

Comments(0)Trackbacks(0)

2009-04-23(Thu) 12:58
[AS3.0]複数の外部画像ファイル読み込み

今回は複数の外部ファイルの読み込みです。
前回と違うのは画像のアドレスとLoaderを配列としていれておく変数を用意しました。
あとはそのまま読み込むと同じ位置で表示されてしまうのでxでづらしています。

package
{
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.net.URLRequest;

	public class Main extends Sprite
	{
		var urlList:Array = new Array();
		var loaderList:Array = new Array();

		public function Main() {
			urlList[0] = "img/img01.jpg";
			urlList[1] = "img/img02.jpg";
			urlList[2] = "img/img03.jpg";

			for (var i = 0; i < urlList.length; i++) {
				var x:int;
				loaderList[i] = new Loader();
				addChild(loaderList[i]);
				loaderList[i].load(new URLRequest(urlList[i]));
				loaderList[i].x = x;
				x  =  x+100; //画像のサイズによって変更
			}
		}
	}
}

category : ActionScript
tag :

Comments(0)Trackbacks(0)

2009-04-11(Sat) 16:28
[AS3.0]外部画像ファイル読み込み

外部に置いた画像ファイルの読み込みです。
LoaderメソッドはSWF、JPG、GIF、PNGに対応しています。
今回はJPGファイルを読み込みます。

  1. 準備としてjpgをswfと同階層のフォルダに配置します。
    今回は同階層に「img」フォルダを用意して、その中に「img01.jpg」というファイルを用意しました。
  2. 続いてコードです。

    package
    {
    import flash.display.Sprite;
    import flash.display.Loader;
    import flash.net.URLRequest;
    
    	public class Main extends Sprite
    	{
    		var imgLoader:Loader = new Loader();
    
    		public function Main() {
    			addChild(imgLoader);
    			//読み込む画像の指定
    			imgLoader.load(new URLRequest("img/img01.jpg"));
    		}
    	}
    }
    

    とりあえず一つ読み込むだけだったら意外と簡単なようです。
    ゆくゆくはXMLで画像を指定してギャラリー的なものが作れたらなと思います……。

category : ActionScript
tag :

Comments(0)Trackbacks(0)

« Previous Page