Progressionが使えるようになりたいメモ1


Progressionを使えるようになりたいと、前々から思っていて、ずっとペンディング状態だったのですが、乗ります。僕は、やります。

ということで最新版をインストール終了。http://progression.jp/

クラスベースで作りたいと思います。

ちょろちょろ触ったのですが、AS3の基礎がなにぶん弱いため、つまずくところが多い多い。

勉強がてらの簡単なサンプルを作っていこうと思いました。

■シーンという考え方

シーンはあくまでシーンというであって、表示するものではないことがチュートリアルで理解。

http://progression.libspark.org/wiki/Documents/Tutorial/StyleClass


■僕が最初に混同したこと。

最初キャストって何?という疑問で立ち往生してしまいました。

[チュートリアルから引用]

表示に使用するクラスですが、Progression Framework には便利な表示用の基本クラス(総称してキャストと呼びます)が用意されています。

とりあえず、

  • サイトの構成はシーン
  • 表示するものはキャスト

という考え方なのだと思いました。

表示させたいコードは、addChildを使います。

仮にシーンに移動したときにtestSpriteを表示したいというコード(シーンオブジェクトに記述)。

//表示させたいオブジェクト:testSprite
var testSprite:Sprite=new Sprite();
progression.container.addChild(testSPrite);

progression.containerにaddChildする点が注意だと思う。


Spriteクラスを拡張した、CastSpriteを使えばさらに便利に使えるのだと思います。

同期処理をする際、AddChildというコマンドクラス(又はAddChildAt)を使用して、表示オブジェクトに追加したときに、_onCastAddedイベントハンドラメソッドが送出されます。

 [シーン]
package
{
	import jp.progression.casts.*;
	import jp.progression.events.*;
	import jp.progression.commands.*;
	import jp.progression.*;
	import jp.progression.scenes.*;

	public class TestScene extends SceneObject {
		protected override function _onInit():void {
			var testCastSprite:TestCastSprite=new TestCastSprite();
			new AddChild(progression.container,testCastSprite).execute();
		}
	}
}


[testCastSprite]
package
{
	import jp.progression.casts.*;
	import jp.progression.*;
	import jp.progression.scenes.*;

	public class TestCastSprite extends CastSprite {
		protected override function _onCastAdded():void {
			trace("testCastSpriteがシーンに追加されました。");
		}
	}
}

最終的には、バリバリ使いこなしたいProgressionですが、とりあえず、スライドショーができるまで、テストを続けていきます。


■関連記事