Progressionが使えるようになりたいメモ5_外部画像読み込み


Progressionでスライドショーを作り中その2

前回は、xmlの読み込みが成功したため、次は、その外部画像ファイルの読み込みをしようと思います。

[フロー]

  1. 画像を読み込む
  2. tweenerを使用してフェードインする。

protected override function _onCastAdded():void 
{
	var imgLoader:CastLoader = new CastLoader();
	addCommand(
		//外部画像ファイルを読み込ませて、読み込み完了を待つ
		new Func(imgLoader.load, [ new URLRequest("img/001.jpg") ], imgLoader.loaderInfo, CastEvent.CAST_LOAD_COMPLETE
		),
		//alphaを0にする
		function()
		{
			imgLoader.alpha = 0;
		},
		new AddChildAt(this,imgLoader),
		//フェードインする
		new DoTweener(imgLoader,{alpha:1,time:2})
	);
}

なんかあまりしっくりこないような・・・

二つ目のコマンド

function()
{
	imgLoader.alpha = 0;
},

これって一つ目のコマンド:Funcの中でできないかなーっと。

Funcコマンドの第5引数initオブジェクトでどうにかできないかなーっとやってみました。以下

new Func(imgLoader.load, [ new URLRequest("img/001.jpg") ], imgLoader.loaderInfo, CastEvent.CAST_LOAD_COMPLETE,
	{
		alpha:0
	}
)

駄目・・・alphaが0にならないなぁ。次。

new Func(imgLoader.load, [ new URLRequest("img/001.jpg") ], imgLoader.loaderInfo, CastEvent.CAST_LOAD_COMPLETE,
	{
		imgLoader:{
			alpha:0
		}
	}
)

これでも駄目かー。ううむ。

やっぱり、じっくりソースを読まないと、かゆいところに手が届かないなっと思いました。


1つわかったのは、以下の太字の部分。

protected override function _onCastAdded():void 
{
	
	var imgLoader:CastLoader = new CastLoader();

	addCommand(
		//外部画像ファイルを読み込ませて、読み込み完了を待つ
		new Func(imgLoader.load, [ new URLRequest("img/001.jpg") ], imgLoader.loaderInfo, CastEvent.CAST_LOAD_COMPLETE
		),
		//alphaを0にする
		function()
		{
			imgLoader.alpha = 0;
		},
		new AddChildAt(this,imgLoader),
		//フェードインする
		new DoTweener(imgLoader,{alpha:1,time:2})
	);
}

Loaderクラスでなく、CastLoaderクラスを使用しているところ。

CastLoaderクラスを使用しなければ、今回の場合でいうとDoTweenerコマンドが利用できません。

Castオブジェクトをもっと理解することでもっと便利なことがあるのだろうなと思いました。

とりあえず、現状でも進めていけそうなので、スライドショーの制作を進めます。



■関連記事