Progression + WordPress の連携(Progression編)

2010年9月18日 06:17 action script,flash,progression,wordpress — littlepad

前回のエントリーの続きです。
ここでは、Progression(Flash) 側の処理について書きます。
Flash 側での処理はそんなに難しくなく、
通常の XML 処理プラスアルファといった感じです。
ポイントは以下の2点です。

  • 構築用 XML(PRML 形式)の読み込みによるシーン生成
  • 各シーンでの XML 読み込み

まず、Index.as 内で WordPress 側で生成した
シーン構築用 XML(PRML 形式) を読み込み、シーンを生成します。

Index.as のコンストラクタ内では、XML で関連付けている
シーン用のクラスを宣言しておきます。

public function Index() {
	super( null, null, new WebConfig() );
	
	// XML で関連づけているシーン用のクラスを宣言しておく
	IndexScene;
	EntryScene;
	CategoryScene;
}

構築用 XML の読み込みは Index.as の atReady 内で行います。
読み込むだけで、シーンが自動的に生成されます。

override protected function atReady():void {
	_pl = new PRMLLoader(this);
	_pl.addEventListener(Event.COMPLETE, onPRMLComplete);
	_pl.load(new URLRequest("http://www.littlepad.net/demo/progwp/?page_id=11"));
}

シーン構築用 XML でシーンデータと一緒に読み込んだ
各ページ個別データを記述した XML ファイルのパスを読み込み処理します。
シングルページの処理が一番簡単なので、サンプルにあげておきます。

override protected function atSceneInit():void {
	var xmlPath:String = String(this.dataHolder.data);
	addCommand(
		new LoadURL( new URLRequest(xmlPath) ),
		new Func( function():void {
			var xml:XML = new XML(this.latestData);
			_page = new EntryPage( { title: xml.elements("title"), entry: xml.elements("etnry") } );
			insertCommand(
				new AddChild( container, _page )
			);
		})
	);
}

シーンに渡されたデータ(XML パス)は dataHolder.data に格納されているので、
それを元にデータを抽出しています。
ここでは、シングルページの記事タイトルと記事データを initObject として
EntryPage クラスに渡し、実際のレイアウト処理は EntryPage 内で行っています。

他のページも基本的にはこの流れで処理を行っています。

コメントはまだありません

No comments yet.

TrackBack URL

Leave a comment

about

ハンドルネーム:littlepad
都内で WEB 制作(デザイン, html/css, Flash, MT, WordPress etc)をしているBOØWY研究家

category:

search:


archives:

GO TO PAGETOP