Progression - Framework for Flash >> Progression 4.0.1 Public Beta 1.0

Progression 4.0.1 Public Beta 1.0

新機能や修正点などをまとめたリリースノートです。

アップデートについて

概要 Progression 4 のパブリックベータ版です。
リリース 2009/09/17

変更点

パッケージ

区分 重要度 内容
新機能 - 日本語版の mxp パッケージが確実に日本語環境に対してインストールされるように修正しました。
※この修正に伴い JSFL 版パッケージは廃止されます。

プロジェクト

区分 重要度 内容
新機能 - 新規プロジェクトの作成ウィザードが追加されました。
- プロジェクトパネルの位置付けを「新規プロジェクトの作成」から「既存プロジェクトの管理」に変更しました。
- プロジェクト機能の一部が Flash コマンド経由で使用可能となります。
- 拡張プロジェクト機能が実装されます。この機能を使用すると、Progression 以外の任意のプロジェクト書き出しが可能となります。対応するパッケージをインストール後、「新規プロジェクトの作成」の「種類」から選択してください。
- 拡張ライブラリ機能が実装されます。この機能を使用すると、プロジェクト書き出し時に任意のライブラリを同梱書き出しすることが可能となります。対応するパッケージをインストール後、「新規プロジェクトの作成」の「拡張ライブラリ」から選択してください。
- 一部プロジェクト設定が書き出し後に再設定可能となります。
- 新規プロジェクトの作成時の設定をプロファイルとして保存、管理することが可能となります。
- プロジェクトのテスト機能が追加されます。
- プロジェクトソースファイラが使用可能となります。
- プロジェクトのリリースビルド書き出し機能が追加されます。この機能を使用すると、不要なエラーメッセージを除去し、trace() を無視した状態の swf ファイルを bin-release フォルダに書き出します。
- プロジェクトフォルダ内のプロジェクトファイルを実行することで、プロジェクトを開くことが可能となります。
- FlashDevelop のプロジェクトファイルに、より詳細なプロジェクト設定が反映されるように修正しました。

シーンエディタ

区分 重要度 内容
新機能 - ブランチ毎に表示、非表示が切り替え可能となります。
- シーン名に同階層で重複した値を設定した場合に、エラーが発生しないように修正しました。
- キャスト追加時にシーン名から自動的に名前を付けるように修正しました。
- 全ての要素に対してカット、コピー、ペーストが可能になりました。
- 編集中に新規作成、ファイルを開く、等の動作をしたときに、既存のデータを破棄するかどうか問い合わせるように修正しました。

コンポーネント

区分 重要度 内容
新機能 - 簡易的なリキッドレイアウトを実現する AdjustLayout コンポーネントを追加しました。
- Goto コンポーネントが常に正しく動作するように修正しました。
- 環境設定コンポーネント群が追加されました。
- コンポーネントのライブプレビューアイコンに簡易情報表示機能が追加されます。
※ Flash CS4 では正しく動作しません。
- 必要なラベルレイヤーを自動インサートするコンポーネントアシスト機能が追加されます。

クラスライブラリ

Configuration クラスによる動作モード変更機能

起動時に動作モードを設定することによって、開発目的に応じた最適化を自動的に行えるようになります。

種類 説明
軽量アプリケーション(LWAppConfig クラス) バナーやブログパーツなどの軽量アプリケーションを作成したい場合に最適な設定です。
Progression 3 に実装されている ResumingScene のような、コマンドを使用しない非同期処理スタイルを提供します。
汎用アプリケーション(BasicAppConfig クラス) 基本機能 + コマンドを使った非同期処理で実装したい場合に最適な設定です。
この設定の適用時には addCommand() による非同期処理が実装可能となります。
スライドコンテンツ(SlideConfig クラス) 簡易的なスライドショーを作成したい場合に最適な設定です。
パワーポイントに準拠したコンテクストメニューが実装され、カーソルキーの左右でスライドの移動を、テンキーを使用することで該当する番号のスライドにダイレクト移動することが可能になります。
※ダイレクト移動は、連続して入力することで 2 桁以上のスライス番号にも対応しています。
Web コンテンツ(WebConfig クラス) Flash ベースの Web サイト作成に最適な設定です。
この設定を適用すると、コンテクストメニューやキーボードショートカット、ディープリンク、SWFSize、SWFWheel などの標準的なブラウザ機能を実装した Flash サイトが作成可能となります。
AIR アプリケーション(AIRConfig クラス) AIR アプリケーションを作成したい場合に最適な設定です。
従来のように特別な SWC ファイルに切り替えることなく AIR 対応が可能となります。
MXML アプリケーション(MXMLConfig クラス) FlexBuilder の MXML プロジェクトで Progression を使用したい場合に最適な設定です。
SceneLoader クラスによる外部 SWF ファイルを使用したシーン連結機能

単一 SWF ファイル内で構築する必要のあったシーン構造が、部分的に外部 SWF ファイルに分割・連結することが可能になります。連結された外部 SWF ファイル内に存在しているボタンのパスは連結関係を踏まえたパスに自動変換されるため、設定を変更せずに単体テストが可能です。

  • ※外部 SWF ファイルのドキュメントクラスには、必ず CastDocument クラスを使用する必要があります。
  • ※連結される Progression インスタンスは、CastDocument クラスの manager プロパティに格納されているインスタンスになります。
  • ※外部 SWF ファイルとして作成したデータは、単独実行時にも各種シーンパスが正しく動作可能です。
強化されたコマンド機能

コマンドの増加に伴い、パッケージ構成が以下のように整理されました。

  • jp.progression.commands.display.*
  • jp.progression.commands.lists.*
  • jp.progression.commands.media.*
  • jp.progression.commands.net.*
  • jp.progression.commands.managers.*
  • jp.progression.commands.tweens.*
  • jp.progression.commands.*
区分 重要度 内容
新機能 - AddChild、RemoveChild コマンドのような DisplayObject を操作するコマンドで対象を指定する場合に、id によるストリング指定が可能となります。
- コマンドリスト系のコマンドに複数ファイルの読み込みをまとめて管理可能となる LoaderList コマンド、時間差でコマンドを実行する TweenList コマンド、指定回数ループ実行する LoopList コマンド、指定回数反復実行する ShuttleList コマンドの 3 つが追加されます。
- SerialList コマンドおよび ParallelList コマンドに実装されている省略形機能を強化し、数値を指定した場合には Wait コマンドに、その他のオブジェクトを指定した場合には Trace コマンドに自動変換するように変更されます。
- 外部ファイル読み込み系のコマンドが追加されます。
- 中断処理をその場で完全に停止可能にすることで、柔軟なコマンドフローを構築可能となります。
- 一部のコマンドに対しては、Command.interruptType プロパティによって中断方法を「その場で停止」「適用前に戻る」「即適用する」の 3 種類から選択可能となります。
- 全てのコマンドフローを停止させる Break コマンドの役割を、現在のコマンドリストの処理のみを停止させるものに変更しました。
- 全てのコマンドフローを停止させる Return コマンドを追加しました。
- リピート系のコマンドリスト処理を停止させる Stop コマンドが追加されます。
- コマンドのタイムアウトポリシーを変更し、明示的に終了処理をする必要のあるもの以外はすべてタイムアウトのデフォルトを 0 に修正しました。
Resource クラスによる読み込みリソース管理機能

net 系コマンド経由で読み込まれたデータは、全て自動的に Resource として管理され、getResourceById() メソッド等からの簡易アクセスが可能となります。

  • ※ cacheAsResource プロパティを false にすることで無効化することも可能です。
DataHolder によるデータ連携機能

WebConfig 実装時には、SWF ファイルを設置した HTML ファイルとの構造連動が可能となります。

強化されたエラーハンドリングおよび通知機能
区分 重要度 内容
新機能 - デバッグ監視対象を任意に指定可能となります。
- 出力内容の重要性に応じた絞り込みが可能となります。
強化されたデバッグ機能
区分 重要度 内容
新機能 - 例外に対応したイベント通知を受け取るようにしていた場合、例外を送出せずにイベントを送出するようになります。
- コマンド構造上で例外が発生した場合に、例外発生位置が通知内容から判別可能となります。
強化された Flash Builder 対応
区分 重要度 内容
新機能 - プロジェクト書き出し時に必要な設定をすることで、Flash Builder(Flex Builder)でダイレクトインポートが可能になります。
- MXMLConfig クラスを含む MXML に対応するためのクラス群が追加されます。
強化されたブラウザ対応機能
区分 重要度 内容
新機能 - CastButton.href に指定されている URL がダウンロード可能なファイルである場合、コンテクストメニューに「対象をファイルに保存」の項目が追加されます。
- CastLoader および CastImageLoader の読み込み対象が画像である場合、コンテクストメニューに「画像を表示」「画像を印刷」の項目が追加されます。
- 実装されるコンテクストメニューがローカル再生時や相対パス設定時にも正しく動作するように修正されます。
強化された多言語対応
区分 重要度 内容
新機能 - 従来の日本語・英語に加え、フランス語が新たにサポートされます。
その他の変更
区分 重要度 内容
新機能 - コマンドの遅延・タイムアウト、エフェクトの適用時間、その他時間設定の必要な値の単位をミリ秒から秒に変更しました。以前のバージョンで 1000 と指定していた箇所は、今後は 1 と指定する必要があります。
- ExecutorObject クラスによる非同期処理が可能なイベントに対して、処理完了時に *_COMPLETE イベントを送出するように変更しました。
※CastEvent.ADDED に対して CastEvent.ADDED_COMPLETE など。
- CastButton クラスで CastEvent.CAST_ADDED イベント、および CastEvent.CAST_REMOVED イベントでの非同期処理が実行可能に変更しました。
- SceneEvent のイベントフローが DisplayObject と同様の処理を行うように修正しました。
- _onLoad() などのオーバーライド・イベントハンドラメソッドの名称の接頭辞を _ から at に変更しました。
変更前 : _onLoad() -> 変更後 : atSceneLoad()
- SceneId の値に NaS (Not a SceneId) の状態を追加しました。これは以前まで一部のプロパティで SceneId が設定されていない場合に null を返していたために、比較時に事前に存在確認をしないとエラーとなってしまっていた問題に対応するために機能です。Nas 状態の SceneId インスタンスは値として "NaS" を返し、全ての比較で false となります。また、NaS インスタンスを使用したい場合には ScenId.NaS プロパティを、対象が NaS かどうかを確認したい場合には SceneId.isNaS() メソッドを使用してください。
- Trace コマンドのコンストラクタ引数が通常の trace() と同様に可変長引数となるように修正しました。
- 全ての FDT の警告に対応しました。
- ExDisplayObject、Command、SceneObject インスタンスの id プロパティに、既存の登録済み識別子を設定した場合にエラーを送出するように修正しました。
※既存の識別子を使い回したい場合には、あらかじめ古い対象の id プロパティに null を設定してください。
※id プロパティ、または group プロパティに識別子が設定されている状態では、GC されないことが保証されます。インスタンスを破棄したい場合には、それぞれのプロパティに null を設定してください。
- Progression クラスの goto() または jumpto() を実行した際に、全ての移動状態において指し示す移動先 SceneId に対して、正しくクエリが付加されるように修正しました。
- SceneId クラスの transfer() の第二引数で query を設定できるように修正しました。
- ブラウザ上で実行時に CastButton にフォーカスした状態で ENTER キーを押した際に、正しく移動できるように修正しました。
- ToolTip が表示領域を超えたサイズになった場合に、折り返して全体を表示するように修正しました。

既知の問題

重要度 内容
- なし。



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 回コンポーネント編が掲載されています。