2008/11/06 | 20:41 pm

progression 3

最近、色んなトコで話題な「Progression 3」を始めました。
(っというか、始めないといけない状況になったわけです)

ものすっごい著名なDeveloperさんのブログで色んなTipsが公開されているので、
とても参考になります。

とりあえず、
こちらの「+39」さんと、
こちらの「northprint」さん、
それから、こちらの「あつのすけ」さんは神様みたいな方です。

あとは、気になる単語をASDOCで調べれば、何とかなるかもしれないかもしれない。

ってことで、諸々を参考にしながら、手始めに背景画像を読込んで表示させるってヤツを
こしらえてみました。

protected override function _onInit():void {
	// stage の初期設定を行います。
	align = StageAlign.TOP_LEFT;
	quality = StageQuality.HIGH;
	scaleMode = StageScaleMode.NO_SCALE;

	// 開発者用の出力を有効化します。
	//Verbose.enabled = true;
	//Verbose.filteringCommand();

	// Progression インスタンスを作成します。
	prog = new Progression( "index", stage, IndexScene );

	// ブラウザ再生時に URL 同期を有効化します。
	prog.sync = false;

	var bgLoader:CastImageLoader = new CastImageLoader();
	bgLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, monitorLoading);
	bgLoader.addEventListener(CastEvent.CAST_LOAD_COMPLETE, function():void {
		prog.container.addChild(bgLoader);
		bgLoader.id = "bgLoader";
		bgLoader.alpha = 0;
		bgLoader.addCommand(
			new Trace("読込み完了です"),
			new DoTweener( bgLoader, {alpha:1, time:2} ),
			new Goto(prog.firstSceneId)
		)}
	)

	var slist:SerialList = new SerialList();
	slist.addCommand(
		function():void {
			bgLoader.load(new URLRequest("contents/images/background.jpg"))
		},
		new Trace("Load 開始します")
	);
	slist.execute();
}	

private function monitorLoading(e:ProgressEvent):void {
	trace("LOADING : " + Math.floor(e.bytesLoaded / e.bytesTotal * 100));
};

Index.as の _onInit 内では、「addCommand()」が使えないらしいので、
使用可能な「SerialList()」経由で命令すると良いらしいです。
bgLoader.id = “bgLoader”;ってしてるのは、IndexScene.asで参照するため。
ソースは ↓

protected override function _onLoad():void {
	// 実行したいコマンドを登録します。
	addCommand(

	);

	trace("container : " + progression.container);
	trace("loader : " + progression.container.getInstanceById("bgLoader"));
}

これで、背景を参照できるので、後でごにょごにょするときも大丈夫。
まだ未検証ですが、Index.as で読込みを完了しておいて、
IndexScene.as 内で他と一緒に表示とかも可能なのかな??

↑ 大丈夫でした。
まず、Index.as の new DoTweener( bgLoader, {alpha:1, time:2} ) の部分をコメントアウト。

それで IndexScene.as を下記に変更

protected override function _onLoad():void {
	// 実行したいコマンドを登録します。
	var bg:CastImageLoader = progression.container.getInstanceById("bgLoader") as CastImageLoader;
	addCommand(
		new DoTweener( bg, {alpha:1, time:2} )
	);
}


追記:08.11.07 – 21:40 pm

IndexScene.as 内の function を _onLoad() に変更。
_onInit() だと、下階層に行って戻って来たときも呼ばれてしまうので、
最初だけのときは _onLoad() を使った方がよい。

POSTED

jam

初めまして。
flabakaというブログを書いています、あつのすけです。

この度はご紹介して頂きまして、ありがとうございます!

(僕なんかのブログが)お役に立っているんですねぇ…

たいしたことは書いていませんが、今後とも宜しくお願い致します。

COMMENT BY

DATE

2008/11/06 22:04 pm

>あつのすけさん
いえいえ、とんでもない。
とてもよく書かれているので、覗かせて頂いてます。

稚拙なモノですが、
ご参考にさせて頂いたスクリプトを活用して、
他の方々のためになればなっと思っております。

わざわざ、コメント頂き、ありがとうございました。
こちらこそ、宜しくお願い致します!!

COMMENT BY

jam

DATE

2008/11/06 22:32 pm

[...] GRAM | グラム / progression 3 [...]





JUN NAKAJIMA
Tokyo, Japan.
member of Onawatobi.
contact@brooklyn.jp