- 2008-10-21 (火) 18:14
- ActionScript3.0 | Progression
PRMLLoaderを使ってみました。
今回も前回と同様、ダウンロードしてきたクラス制作用のデータを使うことにします。
- 前回、IndexSceneに記述したAboutSceneとContactSceneの変数宣言をコメントアウトしておきます
- IndexSceneのaddCommand内に記述したnew LoadURL~のくだりもコメントアウトしておきます
XMLを用意(今回はIndexSceneも記述)
<?xml version="1.0" encoding="utf-8"?> <prml version="2.0.0" type="text/prml"> <scene name="index" cls="myproject.IndexScene"> <scene name="about" cls="myproject.AboutScene"> </scene> <scene name="contact" cls="myproject.ContactScene"> </scene> </scene> </prml>
マニュアルによると、PRMLLoaderはProgressionインスタンスを作成とあるので、今回はIndex.asにスクリプトを記述することになるかと…
で、以下のようにクラスファイルの読み込みを追加しておきます。
import flash.net.URLRequest; import flash.events.Event;
変数宣言をしておきます。
public class Index extends CastDocument {
private var _index:IndexScene;
private var _about:AboutScene;
private var _contact:ContactScene;
/*======================================================================*//**
* Progression インスタンスを取得します。
*/
//public var prog:Progression;
デフォルトの状態で記述されているprogは今回は必要ないので、コメントアウトしておきます。
_onInit()内に以下を記述。
var loader:PRMLLoader = new PRMLLoader(stage,new URLRequest("data.xml"));
loader.addEventListener(Event.COMPLETE,function(e:Event):void{
trace(loader.progression.root.toXMLString());
});
// Progression インスタンスを作成します。
//prog = new Progression( "index", stage, IndexScene );
// ブラウザ再生時に URL 同期を有効化します。
//prog.sync = false;
// 最初のシーンに移動します。
//prog.goto( prog.firstSceneId );
Progressionインスタンスを作成以下の記述は、今回は使わないので、これもコメントアウトしておきます。
この状態でパブリッシュしてみると、出力パネルの表示はこんな感じになります。
Progression 3.0.3 Copyright (c) 2007-2008 taka:nium, supported by Spark project. <scene name="index" cls="myproject.IndexScene" title="index"> <scene name="about" cls="myproject.AboutScene" title="index | about"/> <scene name="contact" cls="myproject.ContactScene" title="index | contact"/> </scene>
上手くいきました。
XMLファイルの読み込みが終わると、自動的にIndexSceneに移動してくれるし、ボタンも問題なく動作します。
以上のことから判断すると、一気に全シーンを作成したい場合はPRMLLoader。任意の(シーンの)子シーンを作成したい場合は、addSceneFromXMLを使うのかな? と個人的に思っています。(正しいのかは分かりませんが…)
- Newer: Progressionのシーンエディタ機能を使う利点
- Older: PRMLLoaderとPRMLParser
Comments:2
- 匿名 08-10-21 (火) 22:43
-
イージーキャスティング→コンポーネントベースでしたね。。
失礼しました。あつのすけさんのエントリスピードに驚きです!
私は今週中にコンポーネントベースのシーンエディター触ってみようかと思ってます。(実はまだシーンエディターのウインドウを開いてすらいないんです。。。)
- あつのすけ 08-10-21 (火) 23:02
-
コメントを頂いた時に、ちょうどPRMLLoaderを用いて(サンプルが)動いたところだったもので、そのときの勢いのままエントリしてしまいました。
その後、taka_niumさまからもアドバイスを頂きまして、「僕の考えでいいみたい…」とちょっと嬉しくなっていました。
Progression3をダウンロードして最初に、僕はシーンエディタを触ってみましたね。
シーンエディタからMovieClipシンボルを作成とかも出来ちゃいますからねぇ…
Progression2の時にはなかった機能だったので、「すげぇ~」と感動した覚えがあります。奥が深いですね、Progression。
Trackbacks:0
- Trackback URL for this entry
- http://flabaka.com/blog/wp-trackback.php?p=282
- Listed below are links to weblogs that reference
- PRMLLoaderとaddSceneFromXMLの使い分け from flabaka