Progression - Framework for Flash >>> PRML リファレンス

PRML リファレンス

Progression で使用可能な PRML 形式の XML リファレンスです。

標準 PRML

標準的な PRML 形式の XML です。
PRMLLoader クラスや、SceneObject クラスの addChildFromXML() メソッドなどで使用する XML はこのフォーマットを使用します。

基本フォーマット

<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/prml">
<scene name="index">
<scene name="about">
</scene>
<scene name="contact">
</scene>
</scene>
</prml>

<prml> 要素

PRML 形式のドキュメントであることを宣言する要素です。
全ての要素はこの <prml> 要素以下に記述します。
この要素は 1 つのファイルに 1 つのみ設定することができます。

親要素
  • なし
子要素
  • <scene> 要素
属性
version="2.0.0" (必須)
対応する PRML 形式のバージョンを設定します。
通常は 2.0.0 と設定してください。
type="text/prml" (オプション)
対応する PRML 形式の種類を設定します。
省略された場合には text/prml となります。
拡張 PRML 形式を使用する場合には、それぞれに対応した値を設定することで明示的に種類を宣言することができます。
記述例
<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/prml">
<scene name="index">
<scene name="about">
</scene>
<scene name="contact">
</scene>
</scene>
</prml>

<scene> 要素

シーン構造を定義する要素です。
<scene> 要素内に <scene> 要素を設定することで、階層的なシーン構造を作成することができます。
この要素は <prml> 要素以下にいくつでも設定することができます。
ただし、PRMLLoader 等で使用する場合にはルートシーンとして定義する必要があるため、<prml> 要素の直下に 2 つ以上設定することができません。
また、<scene> 要素の子として定義されている <scene> 要素以外の要素は、全て <scene> 要素から作成された SceneObject インスタンスの sceneInfo.data プロパティの値として自動的に格納されます。

親要素
  • <prml> 要素
  • <scene> 要素
子要素
  • <scene> 要素
属性
name="sceneName" (必須)
シーンの名前を設定します。
ここで設定された名前はシーン移動先の指定や、ブラウザ同期時に発行される URL として使用します。
この名前は同一階層で重複する値を設定することはできません。
使用可能な文字は半角英数及びハイフン( - )、アンダースコア( _ )です。
cls="sceneClassPath" (オプション)
SceneObject インスタンスの作成に使用するクラスを設定します。
この項目で設定するクラスは、jp.progression.scenes.SceneObject クラスを継承し、読み込む SWF ファイル内にクラスが含まれている必要があります。
この設定を省略した場合には、自動的に jp.progression.scenes.SceneObject が設定されます。
title="sceneTitle" (オプション)
ブラウザ同期機能を使用している場合に、シーンを表示している際に、ブラウザのタイトルとして表示する文字列を設定します。
この設定を省略した場合には、自動的にシーン名が使用されます。
記述例
<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/prml">
<scene name="index">
子シーンとして設定したい <scene> 要素、または SceneObject.sceneInfo.data に格納したいデータ。
</scene>
</prml>

拡張 PRML for EasyCasting

標準 PRML に EasyCasting 用の機能を追加した拡張 PRML 形式です。
EasyCastingLoader クラスや、EasyCastingScene クラスなどで使用する XML はこのフォーマットを使用します。
この機能を使用する場合には、<prml> タグの type 属性に text/easycasting と設定します。

基本フォーマット

<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/easycasting">
<scene name="index">
<cast cls="IndexPage" />
<scene name="about">
<cast cls="AboutPage" />
</scene>
<scene name="contact">
</scene>
</scene>
</prml>

<cast> 要素

画面に表示したいキャストオブジェクトを指定する要素です。
<scene> 要素の子要素として設定することで、その親シーンに移動された際に自動的に表示するようになります。
また、定義済みの属性以外の属性を設定した場合、対象に対応するプロパティが存在すれば、自動的にプロパティが設定されます。

親要素
  • <scene> 要素
子要素
  • なし
属性
cls="castClassPath" (必須)
画面に配置したい表示クラスを設定します。
設定するクラスは、あらかじめ flash.display.Sprite クラスを継承し、読み込む SWF ファイル内にクラスが含まれている必要があります。
index="0" (オプション)
画面に配置する際のインデックス値を設定します。
この設定には任意の数値を指定し、数値が大きいほど手前に表示されることになります。
記述例
<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/easycasting">
<scene name="index">
<cast cls="IndexPage" index="10" />
</scene>
</prml>



FLASH OOP for ActionScript 3.0

FLASH OOP for ActionScript 3.0
Progression の仕様を決定するまでの流れを技術的な面から解説しています。Progression 2 時代に執筆されたものですが、基本概念は Progression 3 でも同様です。

Web Designing (ウェブデザイニング) 2009年 08月号 [雑誌]

Web Designing 2009年 08月号
Progression 特集。

Web Designing (ウェブデザイニング) 2009年 03月号 [雑誌]

Web Designing 2009年 03月号
Progression の連載、第 3 回クラス編とインタビューが掲載されています。

Web Designing (ウェブデザイニング) 2009年 02月号 [雑誌]

Web Designing 2009年 02月号
Progression の連載、第 2 回コンポーネント編が掲載されています。