(57)【要約】【課題】UI構成データをタイムラインでも状態遷移図でも編集できるようにする。【解決手段】タイムライン抽出部１１は、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成する。状態遷移図抽出部１４は、データに基づいて、状態遷移図を生成する。操作部１７は、タイムラインまたは状態遷移図を操作する。タイムライン編集部１２は、操作部１７の操作によるタイムラインの操作内容に基づいて、タイムラインを編集する。状態遷移図編集部１５は、操作部１７の操作による状態遷移図の操作内容に基づいて、状態遷移図を編集する。UI構成データ編集部１９は、タイムラインの編集結果、または、状態遷移図の編集結果に基づいて、データを編集して更新する。【選択図】図１
2007183737.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、
前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、
前記タイムラインまたは前記状態遷移図を操作する操作ステップと、
前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、
前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、
前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップと
を含む情報処理方法。
【請求項２】
前記データは、アニメーション表示ルール、イベント処理ルール、およびラベルの情報を含む
請求項１に記載の情報処理方法。
【請求項３】
前記データ編集ステップは、前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、ステート要因が発生するとき、前記データのうち、前記ラベルの情報に新たな前記ラベルを付加して編集し、更新する
請求項２に記載の情報処理方法。
【請求項４】
前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、前記データの前記イベント処理ルールを編集して更新するイベント処理ルール設定ステップと、
前記イベント処理ルール設定ステップの処理により前記イベント処理ルールが編集されて更新される場合、前記ステート生成要因が発生したとき、前記ラベルの情報を新たに生成するラベル設定ステップと、
前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記アニメーション表示ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記アニメーション表示ルールが変更される場合、前記データの前記アニメーション表示ルールを編集して更新するアニメーション表示ルール設定ステップとをさらに含み、
前記データ編集ステップの処理は、前記イベント処理ルール設定ステップの処理により生成されたイベント処理ルール、前記ラベル設定ステップの処理により生成されたラベルの情報、および前記アニメーション表示ルール設定ステップの処理により生成されたアニメーション表示ルールに基づいて、前記データを編集して更新する
請求項３に記載の情報処理方法。
【請求項５】
ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成手段と、
前記データに基づいて、状態遷移図を生成する状態遷移図生成手段と、
前記タイムラインまたは前記状態遷移図を操作する操作手段と、
前記操作手段の操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集手段と、
前記操作手段の操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集手段と、
前記タイムライン編集手段による前記タイムラインの編集結果、または、前記状態遷移図編集手段による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集手段と
を含む情報処理装置。
【請求項６】
ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、
前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、
前記タイムラインまたは前記状態遷移図を操作する操作ステップと、
前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、
前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、
前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップと
を含むコンピュータが読み取り可能なプログラムが記録された記録媒体。
【請求項７】
ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、
前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、
前記タイムラインまたは前記状態遷移図を操作する操作ステップと、
前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、
前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、
前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理方法および装置、記録媒体、並びにプログラムに関し、特に、タイムラインと状態遷移図とのいずれの形式でもUI（User Interface）プログラムを編集できるようにすることで、開発効率を向上させるようにした情報処理方法および装置、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
アプリケーションソフトウェアプログラムの開発を支援する開発ツールが一般に普及しつつある。例えば、アニメーションをイベントによって切替えて表示するGUI（Graphical User Interface）を、タイムラインとイベント処理ルールとによって作成するためのツールが提案されている（例えば、特許文献１参照）。
【０００３】
このようなツールにより開発されるGUIとしては、例えば、ユーザの操作によらず、内部的なイベントに応じて（例えば、バッテリの充電残量が所定量よりも少ない状態になるといったイベントや、ユーザにより操作されない状態が所定時間以上継続するといったイベントなどに応じて）、アニメーションを変化させて表示し続けるようなものも含まれることになる。
【０００４】
【特許文献１】特開２００５−１９６６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、タイムラインは、時系列に複数のアニメーションの再生タイミングを示すデータ構造なので、ジャンプを繰り返すインタラクティブな処理を表現する場合にはタイムライン全体の構成を常に意識する必要があり、UI（User Interface）の動作全体の構造を俯瞰的に見ることができず、直感的に理解する事が困難である。
【０００６】
また、タイムラインを用いたGUIの開発は成熟しておらず、モデリングやテスト、デバッグに関する技法が確立されていない。このため、作成されたコンテンツの品質を管理する事が困難である。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、特に、同一のGUIの実行プログラムを、異なる視点で表現されるデータとして状態遷移図およびタイムラインとして表現できるようにすることで、タイムラインと状態遷移図の相互変換を可能にし、さらに、それらのいずれを編集しても、同一のGUIを開発できるようにするものである。結果として、既存の状態遷移図（または状態遷移表を含む）を用いたGUIの開発技法を、タイムラインを用いた開発にも適用できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の情報処理方法は、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、前記タイムラインまたは前記状態遷移図を操作する操作ステップと、前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップとを含む。
【０００９】
前記データには、アニメーション表示ルール、イベント処理ルール、およびラベルの情報を含ませるようにすることができる。
【００１０】
前記データ編集ステップには、前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、ステート生成要因が発生するとき、前記データのうち、前記ラベルの情報に新たな前記ラベルを付加して編集し、更新させるようにすることができる。
【００１１】
前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、前記データの前記イベント処理ルールを編集して更新するイベント処理ルール設定ステップと、前記イベント処理ルール設定ステップの処理により前記イベント処理ルールが編集されて更新される場合、前記ステート生成要因が発生したとき、前記ラベルの情報を新たに生成するラベル設定ステップと、前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記アニメーション表示ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記アニメーション表示ルールが変更される場合、前記データの前記アニメーション表示ルールを編集して更新するアニメーション表示ルール設定ステップとをさらに含ませるようにすることができ、前記データ編集ステップの処理には、前記イベント処理ルール設定ステップの処理により生成されたイベント処理ルール、前記ラベル設定ステップの処理により生成されたラベルの情報、および前記アニメーション表示ルール設定ステップの処理により生成されたアニメーション表示ルールに基づいて、前記データを編集して更新させるようにすることができる。
【００１２】
本発明の一側面の情報処理装置は、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成手段と、前記データに基づいて、状態遷移図を生成する状態遷移図生成手段と、前記タイムラインまたは前記状態遷移図を操作する操作手段と、前記操作手段の操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集手段と、前記操作手段の操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集手段と、前記タイムライン編集手段による前記タイムラインの編集結果、または、前記状態遷移図編集手段による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集手段とを含む。
【００１３】
本発明の一側面の記録媒体のプログラムは、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、前記タイムラインまたは前記状態遷移図を操作する操作ステップと、前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップとを含む。
【００１４】
本発明の一側面のプログラムは、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップと、前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップと、前記タイムラインまたは前記状態遷移図を操作する操作ステップと、前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップと、前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップと、前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップとを含む処理をコンピュータに実行させる。
【００１５】
本発明の一側面の情報処理方法および装置、並びにプログラムにおいては、ユーザインタフェースを実行するデータに基づいて、タイムラインが生成され、前記データに基づいて、状態遷移図が生成され、前記タイムラインまたは前記状態遷移図が操作され、前記タイムラインの操作内容に基づいて、前記タイムラインが編集され、前記状態遷移図の操作内容に基づいて、前記状態遷移図が編集され、前記タイムラインの編集結果、または、前記状態遷移図の編集結果に基づいて、前記データが編集されて更新される。
【００１６】
情報処理装置は、独立した装置であっても良いし、情報処理装置の情報処理を行うブロックであっても良い。
【発明の効果】
【００１７】
以上のように、本発明の一側面によれば、UIのプログラムの開発の効率を向上させることが可能となる。
【００１８】
また、本発明の一側面によれば、同一のUIのプログラムに基づいたタイムラインと状態遷移図とを相互変換することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
すなわち、本発明の一側面の情報処理方法およびプログラムは、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成ステップ（例えば、図６のフローチャートにおけるステップＳ３３，Ｓ３５，Ｓ３７の処理）と、前記データに基づいて、状態遷移図を生成する状態遷移図生成ステップ（例えば、図１１のフローチャートにおけるステップＳ９２，Ｓ９４，Ｓ９７の処理）と、前記タイムラインまたは前記状態遷移図を操作する操作ステップ（例えば、図５，図１０のフローチャートにおけるステップＳ１２，Ｓ７２の処理）と、前記操作ステップの操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集ステップ（例えば、図９のフローチャートにおけるステップＳ５２，Ｓ５４，Ｓ５６の処理）と、前記操作ステップの操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集ステップ（例えば、図１２のフローチャートにおけるステップＳ１１２，Ｓ１１４，Ｓ１１６の処理）と、前記タイムライン編集ステップの処理による前記タイムラインの編集結果、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集ステップ（図５，図１０のフローチャートにおけるステップＳ１３，Ｓ７３）とを含む。
【００２１】
前記データには、アニメーション表示ルール、イベント処理ルール、およびラベルの情報を含ませるようにすることができる。
【００２２】
前記データ編集ステップ（図５，図１０のフローチャートにおけるステップＳ１３，Ｓ７３）には、前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、ステート生成要因が発生するとき、前記データのうち、前記ラベルの情報に新たな前記ラベルを付加して編集し、更新させるようにすることができる。
【００２３】
前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記イベント処理ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記イベント処理ルールが変更される場合、前記データの前記イベント処理ルールを編集して更新するイベント処理ルール設定ステップ（例えば、図９，図１２のフローチャートにおけるステップＳ５４，Ｓ１１４の処理）と、前記イベント処理ルール設定ステップの処理により前記イベント処理ルールが編集されて更新される場合、前記ステート生成要因が発生したとき、前記ラベルの情報を新たに生成するラベル設定ステップ（例えば、図９，図１２のフローチャートにおけるステップＳ５６，Ｓ１１６の処理）と、前記タイムライン編集ステップの処理による前記タイムラインの編集結果により、対応する前記アニメーション表示ルールが変更される場合、または、前記状態遷移図編集ステップの処理による前記状態遷移図の編集結果により、対応する前記アニメーション表示ルールが変更される場合、前記データの前記アニメーション表示ルールを編集して更新するアニメーション表示ルール設定ステップ（例えば、図９，図１２のフローチャートにおけるステップＳ５２，Ｓ１１２の処理）とをさらに含ませるようにすることができ、前記データ編集ステップの処理には、前記イベント処理ルール設定ステップの処理により生成されたイベント処理ルール、前記ラベル設定ステップの処理により生成されたラベルの情報、および前記アニメーション表示ルール設定ステップの処理により生成されたアニメーション表示ルールに基づいて、前記データを編集して更新（例えば、図５，図１０のフローチャートにおけるステップＳ１３，Ｓ７３の処理）させるようにすることができる。
【００２４】
本発明の一側面の情報処理装置は、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成するタイムライン生成手段（例えば、図１のタイムライン抽出部１１）と、前記データに基づいて、状態遷移図を生成する状態遷移図生成手段（例えば、図１の状態遷移図抽出部１４）と、前記タイムラインまたは前記状態遷移図を操作する操作手段（例えば、図１の操作部１７）と、前記操作手段の操作による前記タイムラインの操作内容に基づいて、前記タイムラインを編集するタイムライン編集手段（例えば、図１のタイムライン編集部１２）と、前記操作手段の操作による前記状態遷移図の操作内容に基づいて、前記状態遷移図を編集する状態遷移図編集手段（例えば、図１の状態遷移図編集部１５）と、前記タイムライン編集手段による前記タイムラインの編集結果、または、前記状態遷移図編集手段による前記状態遷移図の編集結果に基づいて、前記データを編集して更新するデータ編集手段（例えば、図１のUI構成データ編集部１９）とを含む。
【００２５】
図１は、本発明を適用した編集装置１の一実施の形態の構成を示す図である。
【００２６】
編集装置１は、UI構成データを編集する装置である。編集装置１は、テキストデータで構成されたUI構成データを、テキスト編集により直接編集することもできるが、その他に、UI構成データをタイムラインや状態遷移図として表示することもでき、タイムラインや状態遷移図がユーザにより編集されると、タイムラインや状態遷移図の編集内容に応じてUI構成データを編集することもできる。
【００２７】
UI構成データは、アニメーション表示ルール、イベント処理ルール、およびラベルの情報からなり、複数のオブジェクト毎のアニメーションファイルが、各オブジェクトのアニメーションファイルごとに設定されるアニメーション表示ルールに基づいて実行されて表示される。また、各オブジェクトのアニメーションが表示されるタイミングは、イベント処理ルールに基づいて、時刻単位、または、フレーム単位で相互に関連付けられている。
【００２８】
より詳細には、アニメーション表示ルールは、アニメーションファイルごとに開始時刻、表示時間の情報を持ち、例えば、10乃至50msの間表示、50乃至100msの間非表示、100乃至120msの間表示などのように、各アニメーションについて表示される時間及び表示されない時間を定義するルールである。また、アニメーション表示ルールは、時刻表示のみではなく、フレーム番号でも同様に定義することができる。尚、以降においては、30fpsにおける1フレーム単位で定義する例について説明するものとするが、当然のことながらこれ以外のフレームレートのフレーム単位とするようにしてもよい。
【００２９】
ラベルの情報とは、これらのラベルの時刻、または、フレームを示す情報である。ラベルは、タイムラインにおける時刻またはフレーム番号により定義されるものであるが、一方で、状態遷移図における状態（ステート）の単位でもある。
【００３０】
イベント処理ルールは、発生するイベントにより、タイムライン上の再生位置や、状態遷移図上の状態を定義することで、イベントごとの処理内容を決定するルールである。
【００３１】
このように、アニメーション表示ルール、イベント処理ルール、および、ラベルの情報により、発生するイベントに応じたUIのアプリケーションプログラムと、アニメーション（デザイン）の開発とを独立させることが可能となるため、アニメーションとイベント応じたUIとを個々に開発することが可能となっている。また、イベント処理ルールのみを設定するだけで既存のアニメーションをつなぎ合わせて、容易にUIを開発することができるようになるため、UIの開発効率を向上させることが可能となっている。また、アニメーション表示ルールと、ラベルの情報に基づいて、例えば、所定の状態におけるUIとして表示するアニメーションをデザインや挙動の異なる別のアニメーションに容易に差し替えることが可能となっている。
【００３２】
尚、以下の例においては、UI構成データは、複数のアニメーションをそれぞれ様々なタイミングで表示させることで、UIを実現させるものとするが、UI構成データにより実行されるUIは、アニメーションを用いたものに限るものではなく、例えば、いわゆる、実写の動画データを再生させるようにしてもよいし、実写の動画データをCG（Computer Graphics）技術により編集した画像などであってもよい。
【００３３】
タイムライン抽出部１１は、アニメーション表示ルール抽出部１１ａ、イベント処理ルール抽出部１１ｂ、およびラベル抽出部１１ｃを備えており、それぞれUI構成データ保持部２１のUI構成データから読み出される、アニメーション表示ルール、イベント処理ルール、およびラベルの情報に基づいて、タイムラインを構成して、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などから構成される編集画面表示部２０に供給すると共に、タイムラインを構成する情報をタイムライン編集部１２に供給する。
【００３４】
タイムライン編集部１２は、マウス、ポインタ、または、キーボードなどから構成される操作部１７が、ユーザにより操作されるとき、その操作に応じて発生される操作信号に基づいて、タイムラインの編集内容を認識して、認識した編集内容と、対応するUI構成データの編集に必要な情報をタイムライン抽出部１１より読み出し、アニメーション表示ルール設定部１３、イベント処理ルール設定部１８、およびラベル設定部１６にそれぞれ供給する。
【００３５】
状態遷移図抽出部１４は、アニメーション表示ルール抽出部１４ａ、イベント処理ルール抽出部１４ｂ、およびラベル抽出部１４ｃにより、UI構成データ保持部２１のUI構成データよりそれぞれ読み出される、アニメーション表示ルール、イベント処理ルール、およびラベルの情報に基づいて、状態遷移図を構成して、CRTやLCDなどから構成される編集画面表示部２０に供給すると共に、状態遷移図を構成する情報を状態遷移図編集部１５に供給する。
【００３６】
状態遷移図編集部１５は、マウス、ポインタ、またはキーボードなどから構成される操作部１７が、ユーザにより操作されるとき、その操作に応じて発生される操作信号に基づいて、状態遷移図の編集内容を認識して、認識した編集内容と、対応するUI構成データの編集に必要な情報を状態遷移図抽出部１４より読み出し、アニメーション表示ルール設定部１３、イベント処理ルール設定部１８、およびラベル設定部１６にそれぞれ供給する。
【００３７】
アニメーション表示ルール設定部１３は、タイムライン編集部１２または状態遷移図編集部１５より供給されてくるタイムライン、または、状態遷移図の編集内容に応じてUI構成データを取得し、取得したUI構成データと、編集内容に基づいて、アニメーション表示ルールを設定し、UI構成データ編集部１９に供給する。アニメーション表示ルール設定部１３は、アニメーション読込部１３ａを備えており、アニメーション表示ルールを編集するとき、編集内容に応じて、図示せぬアニメーションストレージより所定のアニメーションファイルを読み出し、アニメーション表示ルールと共にUI構成データ編集部１９に供給する。
【００３８】
イベント処理ルール設定部１８は、タイムライン編集部１２または状態遷移図編集部１５より供給されてくるタイムライン、または、状態遷移図の編集内容に応じてUI構成データを取得し、取得したUI構成データと、編集内容に基づいて、イベント処理ルールを設定し、UI構成データ編集部１９に供給する。
【００３９】
UI構成データ編集部１９は、アニメーション表示ルール設定部１３、イベント処理ルール設定部１８、およびラベル設定部１６より供給されてくるアニメーション表示ルール、イベント処理ルール、およびラベルの情報に基づいて、UI構成データ保持部２１に格納されているUI構成データを編集し、更新する。また、UI構成データ編集部１９は、操作部１７により直接編集されるアニメーション表示ルール、イベント処理ルール、およびラベルの編集情報に基づいて、UI構成データ保持部２１に格納されているUI構成データを編集し、更新することもできる。
【００４０】
編集画面表示部２０は、タイムライン抽出部１１より供給されるタイムライン、状態遷移図抽出部１４より供給される状態遷移図、および、UI構成データ保持部２１に保持されているUI構成データのそれぞれの編集用ウィンドウを個別に図示せぬディスプレイに表示する。尚、当然のことながら、状態遷移図、タイムライン、およびUI構成データを表示する３枚のウィンドウ（例えば、図４のウィンドウ１０１乃至１０３）は、同時に３枚表示することもできるが、いずれか１枚だけ表示することも、また、いずれか２枚だけ表示することも可能である。また、それぞれのウィンドウは、いずれも同一のUI構成データに基づいて表示されるものであるため、同一のUI構成データを編集するためのものであり、例えば、タイムラインの編集用ウィンドウが編集されれば、対応して、状態遷移図、およびUI構成データのウィンドウも対応して編集された状態が表示される。
【００４１】
UI構成データ保持部２１は、例えば、ハードディスクなどから構成され、UI構成データ編集部１９により編集された、または、更新されるUI構成データを保持する（記憶する）と共に、必要に応じてタイムライン抽出部１１、または状態遷移図１４にUI構成データを供給する。
【００４２】
UI構成データ出力部２２は、UI構成データ保持部２１に保持されているUI構成データを読み出して、後述する再生装置３１に供給する。
【００４３】
次に、図２を参照して、再生装置３１の一実施の形態の構成について説明する。
【００４４】
再生装置３１は、上述した図１の編集装置１などにより編集されたUI構成データを再生紙、実際にUIとして実行させるものである。
【００４５】
再生用データ読込部４１は、編集装置１により編集されたUI構成データの再生用データを読み込み、イベント処理ルール保持部４２およびアニメーション保持部４３に供給する。イベント処理ルール保持部４２は、再生用データに含まれるイベントハンドラ及びラベルを基に構成されるイベント処理内容を記述したイベント処理ルールを管理する。アニメーション保持部４３は、再生用データ読込部４１により読み込まれたUI構成データのうち、表示するアニメーションと、それぞれのアニメーション表示ルールを抽出して保持し管理する。イベント検出部４４は、検出されたイベントをイベント処理部４５に通知する。
【００４６】
イベント処理部４５は、イベントが発生したことを示す通知に基づいて、発生したイベントに応じて、アニメーション再生位置変更部（画像データ再生位置変更部）４６を制御し、アニメーション保持部４３に保持されているアニメーションの再生位置を、アニメーション表示ルールと、イベント処理ルールとに基づいて変更させ、アニメーション合成部４８に供給させる。また、イベント処理部４５は、アニメーション変更部（画像データ変更部）４７を制御し、ボタンやキャラクタといったアニメーション中に存在するパーツの色（テクスチャ含む）や模様、大きさ、位置といった属性を、アニメーション表示ルールと、イベント処理ルールとに基づいて変更させ、その情報をアニメーション合成部４８に供給させる。
【００４７】
アニメーション合成部（画像データ合成部）４８は、アニメーション再生位置変更部４６より供給されてくるアニメーションの再生位置の情報と、アニメーション変更部４７より供給されてくるアニメーション中のパーツと、その属性情報とに基づいて、読み込んだ複数のアニメーションを一つのアニメーションとして扱えるように合成し、アニメーション再生部４９に供給する。アニメーション再生部（画像データ再生部）４９は、アニメーション合成部４８より供給されてくるアニメーションを再生し、図示せぬCRTやLCDからなるディスプレイ装置に表示させる。
【００４８】
イベントとしては、例えば、ユーザによるマウスのクリック操作、ドラッグアンドドロップ操作、またはキー入力といった操作によるユーザイベントや、タイマによる再生アニメーション切り替えなどデータが再生される際に発生するシステムイベントがある。また、動作状態を示すイベントも同様に扱うことができ、例えば、バッテリの残量が少なくなったことをイベントとして認識することもできる。
【００４９】
次に、編集装置１によるUI構成データの編集処理について説明するにあたり、先に、再生装置３１によるUI構成データの再生処理について説明し、併せて、UI構成データの構造、並びに、UI構成データと、状態遷移図、およびタイムラインとの関係を説明する。
【００５０】
ステップＳ１において、イベント処理部４５は、アニメーション保持部４３が、それぞれ再生用データ読込部１１から読み込んだ、アニメーション表示ルールに基づいて、アニメーション再生位置変更部４６、およびアニメーション変更部４７を制御させて、所定のアニメーションと、その再生位置とをアニメーション合成部４８に出力させる。アニメーション合成部４８は、供給されてくる所定のアニメーションと、その再生位置との情報に基づいてアニメーションを合成して、アニメーション再生部４９より図示せぬディスプレイに表示させる。すなわち、最初の処理では、イベントの有無と無関係に再生されるアニメーションが再生されることになる。
【００５１】
ステップＳ２において、イベント処理部４５は、イベント検出部４４を監視して、イベントが発生したか否かを判定する。例えば、ステップＳ２において、イベントが検出された場合、ステップＳ３において、イベント処理部４５は、イベント処理ルール保持部４２よりイベント処理ルールを読み出し、検出されたイベントの内容がイベント処理ルールに適合するか否かを判断する。
【００５２】
ここで、図４を参照して、UI構成データの構造について説明する。
【００５３】
図４には、編集装置１により表示される状態遷移図による編集画面を表示する表示ウィンドウ１０１、タイムラインによる編集画面を表示する表示ウィンドウ１０２、および、UI構成データを直接編集する場合の表示ウィンドウ１０３が表示されている。ウィンドウ１０１乃至１０３は、いずれもウィンドウ１０３に記述されているUI構成データに基づいて表示されるものである。尚、ウィンドウ１０３の左側に１行ずつ付されている番号は、説明の便宜上行番号が記述されているが、通常、行番号はウィンドウ１０３に表示されないようにすることができる。
【００５４】
そこで、まず、図４のウィンドウ１０３に記述されているUI構成データを参照して、UI構成データの構造について説明する。
【００５５】
UI構成データは、アニメーションプール、アニメーション表示ルール、イベント処理ルール、および、ラベルの情報より構成されている。
【００５６】
アニメーションプールは、例えば、ウィンドウ１０３の行番号１で示されるように記述される。この記述においては、「ａ１」、「ａ２」で示されるアニメーションファイルが表示に用いられるファイルであることが示されている。図３においては、２個のアニメーションファイルのみが用いられる例について示されているが、さらに多い場合、｛｝内に記述される。尚、以降のアニメーション表示ルールにおいては、アニメーションを識別するIDは、０，１であり、それぞれアニメーションファイル「ａ１」、「ａ２」で示されるファイルである。
【００５７】
アニメーション表示ルールは、例えば、アニメーションの表示における表示開始フレーム（時刻：UIの全体のアニメーションが再生されるときの全体の中のタイミングを示すフレーム番号または時刻）、表示終了フレーム（時刻：UIの全体のアニメーションが再生されるときの全体の中のタイミングを示すフレーム番号または時刻）、アニメーションファイルを識別するID、および、アニメーションファイル内の表示開始フレームのフレーム番号が記述される。
【００５８】
例えば、図４においては、アニメーション表示ルールの記述は、行番号２乃至７の「A_rule［］」以降の記述である。すなわち、行番号３には、｛７，１１，０，start=1｝と記述され、アニメーションを識別するIDが「０」である、アニメーションファイル「ａ１」における第1フレームからのアニメーションを、第７フレーム乃至第１１フレームの直前までのタイミングで再生させることが記述されている。また、行番号４には、｛１２，１７，１，start=1｝と記述され、アニメーションを識別するIDが「１」である、アニメーションファイル「ａ２」における第1フレームからのアニメーションを、第１２フレーム乃至第１７フレームの直前までのタイミングで再生させることが記述されている。さらに、行番号５には、｛７，１１，１，start=1｝と記述され、アニメーションを識別するIDが「１」である、アニメーションファイル「ａ２」における第1フレームからのアニメーションを、第７フレーム乃至第１１フレームの直前までのタイミングで再生させることが記述されている。また、行番号６には、｛１２，１７，０，start=０｝と記述され、アニメーションを識別するIDが「０」である、アニメーションファイル「ａ１」における第1フレームからのアニメーションを、第１２フレーム乃至第１７フレームの直前のタイミングで再生させることが記述されている。
【００５９】
イベント処理ルールは、例えば、イベントが切り替わる開始フレーム（時刻：UIの全体のアニメーションが再生されるときの全体の中のタイミングを示すフレーム番号または時刻）、終了フレーム（時刻：UIの全体のアニメーションが再生されるときの全体の中のタイミングを示すフレーム番号または時刻）、イベントを識別する情報、および、処理内容の情報からなる。図４においては、例えば、ウィンドウ１０３の「E_rule［］」以降の行番号８乃至１３の記述が、イベント処理ルールの記述となる。行番号９においては、｛１，２，reach，goto（A）｝と記述されており、第１フレームから開始し、第２フレームの直前に到達したとき、ラベルAで設定されるフレームに処理をジャンプさせることが示されている。また、行番号１０においては、｛６，７，reach，goto（Ｂ）｝と記述されており、第６フレームから開始し、第７フレームの直前に到達したとき、ラベルＢで設定されるフレームに処理をジャンプさせることが示されている。さらに、行番号１１においては、｛１１，１２，reach，goto（C）｝と記述されており、第１１フレームから開始し、第１２フレームの直前に到達したとき、ラベルCで設定されるフレームに処理をジャンプさせることが示されている。また、行番号１２においては、｛１６，１７，reach，goto（A）｝と記述されており、第１６フレームから開始し、第１７フレームの直前に到達したとき、ラベルCで設定されるフレームに処理をジャンプさせることが示されている。
【００６０】
ラベルの情報は、例えば、所定の処理区間を示すものである。図４においては、例えば、ウィンドウ１０３の行番号９乃至１４の記述が、ラベルの情報の記述である。ただし、行番号１０行目においては、｛１，start｝と記述されており、開始から第１フレーム直前のタイミングが、処理の基点であることを示すのみの記述となっている。
【００６１】
行番号１１においては、｛２，Ａ｝と記述されており、第２フレーム以降が、ラベルＡの区間であることを示している。また、行番号１２においては、｛７，Ｂ｝と記述されており、第７フレーム以降が、ラベルＢの区間であることを示している。さらに、行番号１３においては、｛１２，Ｃ｝と記述されており、第１２フレームの以降が、ラベルＣの区間であることを示している。
【００６２】
ここで、フローチャートの説明に戻るが、ウィンドウ１０１，１０２の詳細については、後述するものとする。
【００６３】
例えば、ステップＳ３において、検出されたイベントが、イベント処理ルールに適合する場合、ステップＳ４において、イベント処理部４５は、イベント処理ルールに記述されている、検出されたイベントに対応した処理を実行させる。すなわち、イベント処理部４５は、イベント処理ルールに基づいて、必要に応じてアニメーション保持部４３より新たなアニメーション表示ルールとアニメーションのファイルを読み出して、アニメーション再生位置変更部４６およびアニメーション変更部４７にそれぞれ供給する。
【００６４】
したがって、ステップＳ３において、例えば、最初の処理として行番号９のイベント処理ルールに適合するものであった場合、ステップＳ４において、イベント処理部４５は、アニメーションの再生を開始して、第２フレームの直前のタイミングに到達するというイベントが発生すると、ラベルＡの区間である第２フレームにジャンプさせるイベント処理が実行できるように、アニメーション保持部４３より新たなアニメーション表示ルールとアニメーションのファイルを読み出して、アニメーション再生位置変更部４６およびアニメーション変更部４７にそれぞれ供給する。
【００６５】
ステップＳ５において、アニメーション再生位置変更部４６およびアニメーション変更部４７は、イベント処理部４５より供給されてきたアニメーション表示ルールとアニメーションのファイルとに基づいて、新たなアニメーション再生位置と、アニメーションとをそれぞれアニメーション合成部４８に供給する。アニメーション合成部４８は、アニメーション再生位置の情報に基づいて、変更された複数のアニメーションを合成し、アニメーション再生部４９にUIとしてアニメーションを表示させる。
【００６６】
ステップＳ６において、イベント処理部４５は、イベント検出部４４よりUIの表示の終了を指示するイベントが検出されたか否かを判定し、終了が指示するイベントが検出されていない場合、その処理は、ステップＳ２に戻り、それ以降の処理が繰り返される。
【００６７】
ステップＳ２において、イベントが発生していない、または、ステップＳ３において、イベント処理ルールに適合しないと判定された場合、ステップＳ４の処理はスキップされる。すなわち、この場合、イベント処理ルールに基づいた処理がなされないので、今現在の状態が維持されることになる。
【００６８】
ステップＳ６において、終了を指示するイベントが検出されたと判定された場合、その処理は、終了する。
【００６９】
以上のような動作により、UI構成データに基づいて、UIが実行されることになる。
【００７０】
次に、UI構成データの編集について説明する。上述したようにUI構成データは、タイムラインでも、状態遷移図でも表現することが可能であるため、そのいずれの形式で表示される状態でもUI構成データを編集することが可能である。
【００７１】
そこで、編集の説明に進む前に、図４を参照して、UI構成データ、タイムライン、および状態遷移図の関係を説明する。まず、UI構成データと状態遷移図との関係について説明する。
【００７２】
上述したように、ウィンドウ１０３に記述されているUI構成データの行番号９乃至１２の記述では、それぞれフレーム２，７，１２，１７の直前のタイミングで、フレーム２，７，１１，２にジャンプすることが記述されている。したがって、状態遷移図を考える場合、状態が遷移する条件が記述されていると考えることができる。また、遷移する先（イベントが発生したときにジャンプする先のフレーム）は、ラベルの情報として決定されているフレーム番号であることから各ラベルは、状態と考えることができる。したがって、ウィンドウ１０３に記述されたUI構成データに基づいた状態遷移図は、ウィンドウ１０１で示されるように表示されることになる。すなわち、ラベル「Ａ」、「Ｂ」、および「Ｃ」は、状態Ａ乃至Ｃとして状態枠Ｓｔ２乃至４として表現される。ここで、ラベル「start」は、上述したように処理の基点であるのみであるので、状態枠Ｓｔ１として表現されてはいるが、一般的な状態とは異なるものである。
【００７３】
また、行番号９の記述によれば、処理が開始される基点から第２フレームの直前に到達すると、第２フレームにジャンプすることにより、結果として、状態は、基点から状態Ａに遷移することになる。したがって、この場合、遷移方向を示すトランジションＴ１が、状態枠Ｓｔ１から状態枠２に向かって記述される。
【００７４】
また、行番号１０の記述によれば、第６フレームから第７フレームの直前に到達すると、第７フレームにジャンプすることにより、結果として、状態は、状態Ａから状態Ｂに遷移することになる。したがって、この場合、遷移方向を示すトランジションＴ２が、状態枠Ｓｔ２から状態枠Ｓｔ３に向かって記述される。
【００７５】
また、行番号１１の記述によれば、第１１フレームから第１２フレームの直前に到達すると、第１２フレームにジャンプすることにより、結果として、状態は、状態Ｂから状態Ｃに遷移することになる。したがって、この場合、遷移方向を示すトランジションＴ３が、状態枠Ｓｔ３から状態枠Ｓｔ４に向かって記述される。
【００７６】
さらに、行番号１２の記述によれば、第１６フレームから第１７フレームの直前に到達すると、第２フレームにジャンプすることにより、結果として、状態は、状態Ｃから状態Ａに遷移することになる。したがって、この場合、遷移方向を示すトランジションＴ４が、状態枠Ｓｔ４から状態枠Ｓｔ２に向かって記述される。
【００７７】
結果として、ウィンドウ１０１のUI構成データは、ウィンドウ１０１の状態遷移図として表現される。
【００７８】
次に、UI構成データとタイムラインとの関係について説明する。
【００７９】
上述した図４のウィンドウ１０３の行番号９乃至１２の記述は、いずれも、フレーム２，７，１２，１７におけるイベントの発生について記述されている。そこで、イベントの発生した区間については、例えば、「ａ」と丸印を記述する。したがって、図４のウィンドウ１０２の右部においては、第１，６，１１，１６フレームにおいては、上から第２段目において、「ａ」と丸印が記述されている。さらに、アニメーションの区間の先頭位置に丸印が記述されている。すなわち、イベントが発生したタイミングの次のフレームにおいては、アニメーションの区間が開始されることになるので、第２，７，１２フレームには、丸印が設けられており、区間の開始が示される。さらに、ラベルが設定されている先頭位置が、示されており、図４のウィンドウ１０２においては、ラベルＬ１乃至Ｌ４の下に凸の黒三角が記述されている。また、図４のウィンドウ１０２については、左部にラベルＬ１乃至Ｌ４に対応するラベルリストが表示されており、ウィンドウ１０３のUI構成データにおける行番号１４乃至１９の「Label［］」以降の記述に基づいて、図中左側には開始フレームの番号が示され、右側にはラベルを識別する情報が記述されている。
【００８０】
図４のウィンドウ１０２の右部においては、最上段のメモリがフレーム番号を示し、第２段目がイベントに対応する区間を示しており、第３，４段目がそれぞれアニメーションファイル「ａ１」，「ａ２」のそれぞれの表示タイミングを示している。
【００８１】
より詳細には、第３段目の左部においては、アニメーション表示ルールにおける行番号３の記述に対応しており、UIを表現する一連の動作における第７フレームから第１１フレームの直前のタイミングで、アニメーションファイル「ａ１」が第１フレームから表示されることが示されている。第３段目の右部においては、アニメーション表示ルールにおける行番号４の記述に対応しており、UIを表現する一連の動作における第１２フレームから第１７フレームの直前のタイミングで、アニメーションファイル「ａ２」が第１フレームから表示されることが示されている。
【００８２】
また、第４段目の左部においては、アニメーション表示ルールにおける行番号５の記述に対応しており、UIを表現する一連の動作における第７フレームから第１１フレームのタイミングで、アニメーションファイル「ａ２」が第１フレームから表示されることが示されている。第４段目の右部においては、アニメーション表示ルールにおける行番号６の記述に対応しており、UIを表現する一連の動作における第１２フレームから第１７フレームの直前のタイミングで、アニメーションファイル「ａ１」が第１フレームから表示されることが示されている。尚、図４においては、黒丸がキー入力によるイベントの発生を示しており、縦長の四角がキー入力により発生したイベントで開始される区間の終了位置を示している。
【００８３】
次に、図５のフローチャートを参照して、編集装置１により、上述したUI構成データに基づいて表示されるタイムラインを編集することにより、UI構成データを編集するタイムライン編集処理について説明する。
【００８４】
ステップＳ１１において、タイムライン抽出部１１は、タイムライン表示処理を実行する。
【００８５】
ここで、図６のフローチャートを参照して、タイムライン表示処理について説明する。
【００８６】
ステップＳ３１において、タイムライン抽出部１１のアニメーション表示ルール抽出部１１ａは、UI構成データ保持部２１に保持されているUI構成データよりアニメーション表示ルールの情報を抽出して読み出す。例えば、図４のウィンドウ１０３のUI構成データの場合、行番号２乃至７の情報が読み出されることになる。
【００８７】
ステップＳ３２において、タイムライン抽出部１１は、読み出されたアニメーション表示ルールに基づいて、各アニメーションファイルの区間情報を読み出す。すなわち、図４のウィンドウ１０３のUI構成データの場合、行番号３乃至６に記述されている区間の情報が読み出される。
【００８８】
ステップＳ３３において、タイムライン抽出部１１は、読み出されたアニメーションの区間情報に基づいて、アニメーションの区間情報を描画して、編集画面表示部２０に表示させる。すなわち、図４の場合、ウィンドウ１０２で示されるタイムラインの第３，４段目で示されるようにアニメーションの表示区間が描画される。
【００８９】
ステップＳ３４において、イベント処理ルール抽出部１１ｂは、UI構成データ保持部２１に保持されているUI構成データよりイベント処理ルールの情報を抽出して読み出す。例えば、図４のウィンドウ１０３のUI構成データの場合、行番号８乃至１３の情報が読み出されることになる。
【００９０】
ステップＳ３５において、タイムライン抽出部１１は、読み出されたイベント処理ルールの情報に基づいて、イベント処理ルールの情報を描画して、編集画面表示部２０に表示させる。すなわち、図４の場合、ウィンドウ１０２で示されるタイムラインの第２段目で示されるように区間の開始位置やイベントの発生位置が描画される。
【００９１】
ステップＳ３６において、ラベル抽出部１１ｃは、UI構成データ保持部２１に保持されているUI構成データよりラベルの情報を抽出して読み出す。例えば、図４のウィンドウ１０３のUI構成データの場合、行番号１４乃至１９の情報が読み出されることになる。
【００９２】
ステップＳ３７において、タイムライン抽出部１１は、読み出されたラベルの情報に基づいて、ラベルを描画して、編集画面表示部２０に表示させる。すなわち、図４の場合、ウィンドウ１０２で示されるタイムラインのラベルＬ１乃至Ｌ４で示されるようにラベルが描画される。
【００９３】
以上の処理により、UI構成データに基づいて、タイムラインを編集するためのウィンドウ１０２が表示されるので、ユーザは、編集しようとするUI構成データがタイムラインとして表現された状態を認識することが可能となる。
【００９４】
ここで、図５のフローチャートの説明に戻る。
【００９５】
ステップＳ１２において、タイムライン編集部１２は、操作部１７が操作されて、タイムラインに編集操作が加えられたか否かを判定する。
【００９６】
ここで、UI構成データが、例えば、図７で示されるような初期状態であったところに、図８で示されるように新たにイベント処理ルールが加えられた場合を例にして説明を進める。
【００９７】
図７においては、UI構成データのウィンドウ１０３で示されるように、行番号１では、アニメーションファイルが記述されている。ただし、初期状態であるため、アニメーションを指定するファイル名が入力されていない。また、行番号２には、アニメーション表示ルールが記述されているが、同様に初期状態であるので、ルールそのものが記述されていない。
【００９８】
さらに、行番号３乃至６には、イベント処理ルールが記述されている。この中で、行番号４には、｛１，２，reach，goto（A）｝と記述されており、第１フレームから開始し、第２フレームの直前に到達したとき、ラベルAで設定されるフレームに処理をジャンプさせることが示されている。同様に、行番号５には、｛６，７，reach，stop（）｝と記述されており、第６フレームから開始し、第７フレームの直前に到達したとき、処理を停止させることが示されている。
【００９９】
また、行番号７乃至１０には、ラベルの情報が記述されており、行番号８においては、基準となるラベルが示されており、行番号９においては、｛２，Ａ｝と記述されており、第２フレーム以降が、ラベルＡの区間であることを示している。
【０１００】
これらの情報が、タイムラインで表示されると、図７のウィンドウ１０２で示されるようになる。すなわち、第２段目には、第１フレームの位置に、「ａ」と白丸印が記述され、UI構成データの行番号４のイベント処理ルールが反映される。また、第２段目には、第６フレームの位置に、「ａ」と白丸印が記述され、UI構成データの行番号５のイベント処理ルールが反映される。さらに、ラベルＬ１，Ｌ２がラベル情報に基づいて記述される。尚、ウィンドウ１０２の左部には、図中左側には開始フレームの番号が示され、右側にはラベルを識別する情報が記録されており、図７においては、処理の基点となる第１フレームについてはラベルがなく、第２フレームからの区間がラベルＡに設定されている。
【０１０１】
すなわち、図７で示されるウィンドウ１０２のタイムラインであった場合、例えば、操作部１７が操作されて、図８のウィンドウ１０２で示されるように、第７フレームに「ａ」と白丸が新たに記述され、タイムラインに編集操作が加えられたと判定された場合、変更があったものとみなし、ステップＳ１３において、タイムライン編集操作に基づいたUI構成データ編集処理が実行される。
【０１０２】
ここで、図９のフローチャートを参照して、タイムライン編集操作に基づいたUI構成データ編集処理について説明する。
【０１０３】
ステップＳ５１において、タイムライン編集部１２は、操作部１７の操作内容からタイムライン編集操作に基づいて、アニメーション表示ルールが変更されたか否かを判定する。例えば、アニメーション表示ルールが変更されたと判定された場合、ステップＳ５２において、タイムライン編集部１２は、操作部１７からの操作内容に応じて、変更されたアニメーション表示ルールの情報をアニメーション表示ルール設定部１３に供給する。アニメーション表示ルール設定部１３は、変更内容の情報に基づいて、UI構成データのうちアニメーション表示ルールを生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたアニメーション表示ルールで、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１０４】
ステップＳ５３において、タイムライン編集部１２は、操作部１７の操作内容からタイムライン編集操作に基づいて、イベント処理ルールが変更されたか否かを判定する。例えば、イベント処理ルールが変更されたと判定された場合、ステップＳ５４において、タイムライン編集部１２は、操作部１７からの操作内容に応じて、変更されたイベント処理ルールの情報をイベント処理ルール設定部１８に供給する。イベント処理ルール設定部１８は、変更内容の情報に基づいて、UI構成データのうちイベント処理ルールを生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたイベント処理ルールで、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１０５】
例えば、図７で示される状態から図８で示される状態となるように、新たに第７フレームに、新たな区間を生成するように、操作部１７によりタイムラインが操作された場合、ステップＳ５４の処理により、図８のウィンドウ１０３の行番号６で示されるように、新たにイベント処理ルールとして、｛７，８，reach，stop（）｝が新たに記述され、第７フレームから第８フレームの直前に達したら処理を停止させることが新たに記述されることになる。
【０１０６】
ステップＳ５５において、タイムライン編集部１２は、操作部１７の操作内容からタイムライン編集操作に基づいて、ステート生成要因が発生しているか否か（ラベルの情報が変更されたか否か）を判定する。ステート生成要因が発生するとは、所定のフレームにラベルの情報が更新される（ラベルが付される）条件が満たされることを示している。ここで、ラベルが付されるフレームの条件は、例えば、一連のアニメーション表示の先頭フレーム（編集中のタイムラインの先頭フレーム）であること、ラベルがユーザにより指定されたフレームであること、イベント処理ルールにより動作が指定された先頭フレームであること、キー操作によるイベントにより動作が指定されているフレームであること、または、キー操作によるイベントにより指定された一連の動作の最終フレームの次のフレームであることなどである。ステートとは、状態遷移図における状態枠により表現される１つの「状態」である。ラベルは、タイムラインにおける１つの連続した動作を実行する区間を示すものであるが、１つの連続した動作を実行する区間は、状態遷移図におけるステートに相当するものである。したがって、ラベルが付されるのは、状態が１つ増えることと同一の意味を持つことになる。
【０１０７】
今の場合、図８で示されるように第７フレームに新たなイベント処理ルールが加えられて更新されることにより、新たなイベント処理ルールが先頭フレームで設定されている。そこで、ステップＳ５５においては、ステート生成要因が発生している、すなわち、新たにラベルが付される条件であると判定されることになるので、その処理は、ステップＳ５６に進む。
【０１０８】
ステップＳ５６において、タイムライン編集部１２は、ラベルが付される条件であることをラベル設定部１６に通知する。ラベル設定部１６は、この通知に基づいて、ラベルを新たに発生するラベルの情報を生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたラベルの情報で、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１０９】
例えば、今の場合、この処理により、図８のウィンドウ１０３で示されるように、行番号１１で示されるように｛７，Ｂ｝と記述されると共に、ウィンドウ１０２の左部のラベルリストで示されるように、新たなラベルの区間の開始位置として第７フレームが記述され、ラベル名として「Ｂ」が設定される。
【０１１０】
ステップＳ５１において、アニメーション表示ルールに変更がないと判定された場合、ステップＳ５２の処理は、スキップされる。また、ステップＳ５３において、イベント処理ルールに変更がないと判定された場合、ステップＳ５４乃至Ｓ５６の処理がスキップされる。さらに、ステップＳ５５においてステート生成要因が発生していないと判定された場合、ステップＳ５６の処理がスキップされる。
【０１１１】
以上のタイムライン編集操作に基づいたUI構成データ編集処理に伴って、UI構成データが書き換えられ、その処理は、ステップＳ１１（図５）に戻り、それ以降の処理が繰り返される。したがって、UI構成データが書き換えられると、ステップＳ１１の処理において、更新された情報が反映されたUI構成データに基づいて、ウィンドウ１０１，１０２，１０３が表示されることになるので、例えば、上述したようにラベルが付されると、図８で示されるようにラベルＬ３が描画されて表示される。
【０１１２】
以上によれば、各区間の長さ（ステート長）が認識しやすいタイムラインを編集することで、UI構成データを編集することが可能となる。
【０１１３】
次に、図１０のフローチャートを参照して、編集装置１により、上述したUI構成データに基づいて表示される状態遷移図を編集することにより、UI構成データを編集する状態遷移図編集処理について説明する。
【０１１４】
ステップＳ７１において、状態遷移図抽出部１４は、状態遷移図表示処理を実行する。
【０１１５】
ここで、図１１のフローチャートを参照して、状態遷移図表示処理について説明する。
【０１１６】
ステップＳ９１において、状態遷移図抽出部１４のラベル抽出部１４ｃは、UI構成データ保持部２１に保持されているUI構成データよりラベルの情報を抽出して読み出す。例えば、図７のウィンドウ１０３のUI構成データの場合、行番号７乃至１０の情報が読み出されることになる。
【０１１７】
ステップＳ９２において、タイムライン抽出部１１は、読み出されたラベルの情報に基づいて、状態枠を描画して、編集画面表示部２０に表示させる。すなわち、図７の場合、ウィンドウ１０１で示されるように、行番号８の記述に基づいて、基点となる状態枠Ｓｔ１１が描画され、行番号９の記述に基づいて、ラベルＡに対応する状態Ａの状態枠Ｓｔ１２が描画される。
【０１１８】
ステップＳ９３において、イベント処理ルール抽出部１４ｂは、UI構成データ保持部２１に保持されているUI構成データよりイベント処理ルールの情報を抽出して読み出す。例えば、図７のウィンドウ１０３のUI構成データの場合、行番号３乃至６の情報が読み出されることになる。
【０１１９】
ステップＳ９４において、状態遷移図抽出部１４は、読み出されたイベント処理ルールの情報に基づいて、トランジションを描画して、編集画面表示部２０に表示させる。すなわち、図７の場合、ウィンドウ１０３で示される行番号４の記述に基づいて、第２フレームの直前のタイミングに到達すると、ラベルＡに相当する状態Ａにジャンプすることが記述されているので、ウィンドウ１０１で示されるように、状態枠Ｓｔ１１を基点として、Ｓｔ１２を終点とするトランジションＴ１１を示す矢印が描画されることになる。
【０１２０】
ステップＳ９５において、状態遷移図抽出部１４のアニメーション表示ルール抽出部１４ａは、UI構成データ保持部２１に保持されているUI構成データよりアニメーション表示ルールの情報を抽出して読み出す。例えば、図４のウィンドウ１０３のUI構成データの場合、行番号２乃至７の情報が読み出されることになる。
【０１２１】
ステップＳ９６において、状態遷移図抽出部１４は、読み出されたアニメーション表示ルールに基づいて、各アニメーションファイルの区間情報を読み出す。すなわち、図４のウィンドウ１０３のUI構成データの場合、行番号３乃至６に記述されている区間の情報が読み出される。
【０１２２】
ステップＳ９７において、タイムライン抽出部１１は、読み出されたアニメーションの区間情報、および、アニメーションファイル名を、対応する状態枠に描画して、編集画面表示部２０に表示させる。尚、図７においては、ウィンドウ１０１において状態枠Ｓｔ１２内にテキストとして表示されるのみであるので、図示が省略されている。ただし、アニメーションファイル名などは、状態枠内で別の表記とするようにしてもよく、例えば、アイコンなどにして状態枠内で表示させるようにしてもよい。
【０１２３】
以上の処理により、UI構成データに基づいて、状態遷移図を編集するためのウィンドウ１０１が表示されるので、ユーザは、編集しようとするUI構成データが状態遷移図として表現された状態を認識することが可能となる。
【０１２４】
ここで、図１０のフローチャートの説明に戻る。
【０１２５】
ステップＳ７２において、状態遷移図編集部１５は、操作部１７が操作されて、状態遷移図に編集操作が加えられたか否かを判定する。
【０１２６】
ここでも、UI構成データが、例えば、図７で示されるような初期状態であって、図８で示されるように新たにイベント処理ルールが加えられた場合を例にして説明を進める。
【０１２７】
すなわち、図７で示されるウィンドウ１０１の状態遷移図であった場合、例えば、操作部１７が操作されて、図８のウィンドウ１０１で示されるように、状態枠Ｓｔ１３が、状態遷移図に記述されることにより、編集操作が加えられたと判定された場合、ステップＳ７３において、状態遷移図編集操作に基づいたUI構成データ編集処理を実行する。
【０１２８】
ここで、図１２のフローチャートを参照して、タイムライン編集操作に基づいたUI構成データ編集処理について説明する。
【０１２９】
ステップＳ１１１において、状態遷移図編集部１５は、操作部１７の操作内容から状態遷移図編集操作に基づいて、アニメーション表示ルールが変更されたか否かを判定する。例えば、アニメーション表示ルールが変更されたと判定された場合、ステップＳ１１２において、状態遷移図編集部１５は、操作部１７からの操作内容に応じて、変更されたアニメーション表示ルールの情報をアニメーション表示ルール設定部１３に供給する。アニメーション表示ルール設定部１３は、変更内容の情報に基づいて、UI構成データのうちアニメーション表示ルールを生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたアニメーション表示ルールで、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１３０】
ステップＳ１１３において、状態遷移図編集部１５は、操作部１７の操作内容から状態遷移図編集操作に基づいて、イベント処理ルールが変更されたか否かを判定する。例えば、イベント処理ルールが変更されたと判定された場合、ステップＳ１１４において、状態遷移図編集部１５は、操作部１７からの操作内容に応じて、変更されたイベント処理ルールの情報をイベント処理ルール設定部１８に供給する。イベント処理ルール設定部１８は、変更内容の情報に基づいて、UI構成データのうちイベント処理ルールを生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたイベント処理ルールで、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１３１】
例えば、図７で示される状態から図８で示される状態となるように、新たに状態が追加された場合、最小区間のタイムラインを発生させるときと同様に処理され、ステップＳ１１４の処理により、図８のウィンドウ１０３の行番号６で示されるように、新たにイベント処理ルールとして、｛７，８，reach，stop（）｝が新たに記述され、第７フレームから第８フレームの直前に達したら処理を停止させることが新たに記述されることになる。尚、新たに状態が付加される場合、タイムラインで表現すると、他の状態には遷移しない、すなわち、所定の区間が終了してもどこのフレームにもジャンプしない状態であるため、新たに状態が付加される場合、イベント処理ルールとして「stop（）」が設定されている。
【０１３２】
ステップＳ１１５において、状態遷移図編集部１２は、操作部１７の操作内容から状態遷移図編集操作に基づいて、ステート生成要因が発生しているか否か（ラベルの情報が変更されたか否か）を判定する。状態遷移図におけるステートとラベルが同一のものとして扱えることは上述した通りであるので、状態枠が追加されるような場合、ステートが１つ増えることになるので、ステート生成要因が発生していることになる。
【０１３３】
そこで、ステップＳ１１５において、新たにラベルが付される条件であると判定されることになり、処理は、ステップＳ１１６に進む。
【０１３４】
ステップＳ１１６において、状態遷移図編集部１５は、ラベルが付される条件であることをラベル設定部１６に通知する。ラベル設定部１６は、この通知に基づいて、ラベルを新たに発生する情報を生成し、UI構成データ編集部１９に対して供給する。UI構成データ編集部１９は、編集操作に基づいて、新たに供給されてきたラベルの情報で、UI構成データ保持部２１に保持されているUI構成データを更新して記憶させる。
【０１３５】
例えば、今の場合、この処理により、図８のウィンドウ１０３で示されるように、行番号１１で示されるように｛７，Ｂ｝と記述されることになる。
【０１３６】
ステップＳ１１１において、アニメーション表示ルールに変更がないと判定された場合、ステップＳ１１２の処理は、スキップされる。また、ステップＳ１１３において、イベント処理ルールに変更がないと判定された場合、ステップＳ１１４乃至Ｓ１１６の処理がスキップされる。さらに、ステップＳ１１５においてステート生成要因が発生していないと判定された場合、ステップＳ１１６の処理がスキップされる。
【０１３７】
以上の状態遷移図編集操作に基づいたUI構成データ編集処理により、新たにUI構成データが書き換えられ、その処理は、ステップＳ７１（図５）に戻り、それ以降の処理が繰り返される。したがって、UI構成データが書き換えられると、ステップＳ７１の処理において、更新された情報が反映されてUI構成データに基づいて、ウィンドウ１０１，１０２，１０３が表示されることになるので、例えば、上述したようにラベルが付されると、図８で示されるようにラベルＬ３が描画されて表示される。
【０１３８】
以上によれば、視覚的に認識しやすい状態遷移図を編集することで、UI構成データを編集することが可能となる。
【０１３９】
さらに、上述したように、UI構成データは、状態遷移図およびタイムラインのいずれでも表現することが可能であるため、そのいずれでもUI構成データを編集することが可能となり、状態遷移図の編集結果をUI構成データおよびタイムラインに反映させることができ、逆に、タイムラインの編集結果をUI構成データおよび状態遷移図に反映させることもできる。
【０１４０】
また、UI構成データが、状態遷移図およびタイムラインのいずれでも表現できるので、状態遷移図とタイムラインとに互換性を持たせることが可能となり、状態遷移図を用いてタイムラインを編集したり、タイムラインを用いて状態遷移図を編集することが可能となる。
【０１４１】
尚、UI構成データは、状態遷移図およびタイムラインのいずれでも表現することは可能であるが、どの情報を編集するのかにより、状態遷移図、または、ライムラインのいずれかを選択して編集するようにすることが望ましい。すなわち、例えば、状態遷移図でステート長を変更させるような場合、UI構成データのテキストデータをそのまま更新するような作業により編集する必要がある。そこで、そのような場合、タイムラインによる編集を行うようにすることで、ステート長の編集を容易なものとすることができる。また、逆に、発生するイベントにより、どの状態にジャンプするのかについては、タイムラインでは把握しにくいので、状態遷移図による編集を行うようにすることで、イベントと対応する動作の関係の編集を容易なものとすることができる。
【０１４２】
以上においては、状態遷移図において状態が１個追加される場合、すなわち、タイムラインにおいて、所定のイベントが発生したときにアニメーションが表示される１つの区間が追加される場合におけるUI構成データの編集例について説明してきたが、編集内容はこれに限るものではない。
【０１４３】
以降に、編集例について説明する。
【０１４４】
例えば、図１３で示されるように、図８のウィンドウ１０１における状態枠Ｓｔ１３のステート名を「Ｂ」から「Ｃ」に変更させるような状態遷移図の編集処理があった場合、対応して、UI構成データにおけるラベルの情報が編集される。より詳細には、図８のウィンドウ１０３で示される行番号１１の記述｛７，Ｂ｝が、図１３のウィンドウ１０３で示される行番号１１の記述｛７，Ｃ｝のように編集されることになる。UI構成データが編集されることにより、タイムラインは、図１３のウィンドウ１０２で示されるように、図８におけるラベルリストの最下段の表記が、「Ｂ」から「Ｃ」に変更され、ラベルＬ３が状態ＢからＣに変更される。尚、状態遷移図の編集操作に伴ったUI構成データおよびタイムラインの編集処理について説明したが、逆に、タイムラインを編集しても、同様にＵＩ構成データと状態遷移図が編集されることになる。
【０１４５】
また、例えば、図１４で示されるような状態から、図１５で示されるように状態遷移図を編集して、状態枠Ｓｔ１３を削除するような編集をする場合、UI構成データおよびタイムラインは以下のように編集される。
【０１４６】
ここで、図１４においては、ウィンドウ１０１においては、状態枠Ｓｔ１１乃至Ｓｔ１４が存在し、トランジションＴ１１が存在するものとする。このとき、タイムラインは、図１４のウィンドウ１０２で示されるように、第１，６，１１，１６フレームにイベントの発生と共に新たな区間が開始する「ａ」および丸印が描画されている。
【０１４７】
さらに、UI構成データは、ウィンドウ１０３で示されるように、行番号１がアニメーションプールを示し、行番号２がアニメーション表示ルールを示している。尚、図１４，図１５においては、アニメーションプール、および、アニメーション表示ルールについては、状態および区間における処理を説明するため、記載が省略されている。
【０１４８】
行番号３乃至８においては、イベント処理ルールが記述されており、行番号４の記述により基点の情報が記述され、行番号５の記述により、第２フレーム乃至第７フレームの直前までが１つの区間（状態Ａ）であることが記述され、行番号６の記述により、第７フレーム乃至第１２フレームの直前までが１つの区間（状態Ｂ）であることが記述され、行番号７の記述により、第１２フレームから第１７フレームの直前までが１つの区間（状態Ｃ）であることが記述されている。
【０１４９】
行番号９乃至１３においては、ラベルの情報が記述されており、行番号１０の記述により基点の情報が記述され、行番号１１の記述により第２フレームからラベルＡ（状態Ａ）であることが記述され、行番号１２の記述により第７フレームからラベルＢ（状態Ｂ）であることが記述され、行番号１３の記述により第１２フレームからラベルＣ（状態Ｃ）であることが記述されている。
【０１５０】
このとき、図１５のウィンドウ１０１で示されるように、状態枠Ｓｔ１３が削除されると、削除された状態枠Ｓｔ１３に対応する状態Ｂの記述である、図１４のウィンドウ１０３の行番号６，１２が削除されて、図１５のウィンドウ１０３で示されるように記述されることになる。すなわち、タイムラインの記述に従い、フレーム番号が詰められることになる。具体的には、図１４のウィンドウ１０３の行番号６の記述は、タイムラインにおける第７フレーム乃至第１２フレームにおける記述に相当するため、その部分を図中の左側にスライドさせるように記述を編集する。したがって、図１４のウィンドウ１０３の行番号７の記述がずれて、図１５のウィンドウ１０３においては、行番号６で示されるような記述となる。また、ラベルの情報については、状態Ｂに対応するラベルＢの記述である図１４のウィンドウ１０３の行番号１２の記述が削除されて、図１５のウィンドウ１０３の行番号８乃至１２で示されるように記述される。
【０１５１】
対応してタイムラインについては、図１４のウィンドウ１０２の第７フレーム乃至第１２フレームの記述が削除されて、第１２フレーム乃至第１６フレームの記述が図中左方向にスライドして、図１５のウィンドウ１０２で示されるように第７フレーム乃至第１２フレームの記述となる。
【０１５２】
この処理についても、図１５のウィンドウ１０２で示されるようにタイムラインを編集しても、同様に図１５のウィンドウ１０１，１０２で示される状態遷移図およびUI構成データに編集されることになる。
【０１５３】
さらに、例えば、図１６の左上部で示されるようなタイムラインを示すウィンドウ１０２があり、対応してUI構成データが図１６の左下部のウィンドウ１０３で示されるような場合、ステート長が短くされると、図１６の中央上部で示されるウィンドウ１０２および中央下部で示されるウィンドウ１０３で示されるように編集され、逆にステート長が長くされると、図１６の右上部で示されるウィンドウ１０２および右下部で示されるウィンドウ１０３で示されるように編集される。
【０１５４】
ここで、図１６の左上部のウィンドウ１０２は、最上段および第２段目は、イベント処理ルールが記述されており、特に、第２段目は、図１６の左下部のウィンドウ１０３の行番号１４，１５の記述に対応するものである。行番号１４の記述は、第３９フレーム乃至第４４フレームの直前までは、電圧がEv_Aの場合、ラベルＣのフレームまでジャンプすることが記述されている。行番号１５の記述は、第４４フレーム乃至第４９フレームの直前までは、電圧がEv_Aの場合、ラベルＢのフレームまでジャンプすることが記述されている。
【０１５５】
図１６の左上部のウィンドウ１０２における第３段目は、図１６の左下部のウィンドウ１０３における行番号３の記述に対応するアニメーション表示ルールに基づいたアニメーションの表示タイミングを示している。図１６の左下部のウィンドウ１０３における行番号３の記述は、第４１フレームから第４４フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生することが記述されている。
【０１５６】
図１６の左上部のウィンドウ１０２における第４段目は、図１６の左下部のウィンドウ１０３における行番号４の記述に対応するアニメーション表示ルールに基づいたアニメーションの表示タイミングを示している。図１６の左下部のウィンドウ１０３における行番号４の記述は、第４０フレームから第４２フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第１フレームから再生することが記述されている。
【０１５７】
図１６の左上部のウィンドウ１０２における第５段目は、図１６の左下部のウィンドウ１０３における行番号５の記述に対応するアニメーション表示ルールに基づいたアニメーションの表示タイミングを示している。図１６の左下部のウィンドウ１０３における行番号５の記述は、第３４フレームから第４６フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生することが記述されている。
【０１５８】
図１６の左上部のウィンドウ１０２における第６段目は、図１６の左下部のウィンドウ１０３における行番号６の記述に対応するアニメーション表示ルールに基づいたアニメーションの表示タイミングを示している。図１６の左下部のウィンドウ１０３における行番号６の記述は、第３４フレームから第４１フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生することが記述されている。
【０１５９】
図１６の左上部のウィンドウ１０２における第７段目は、図１６の左下部のウィンドウ１０３における行番号７の記述に対応するアニメーション表示ルールに基づいたアニメーションの表示タイミングを示している。図１６の左下部のウィンドウ１０３における行番号７の記述は、第４２フレームから第４６フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第１フレームから再生することが記述されている。
【０１６０】
図１６の左上部のウィンドウ１０２における最上段の第３８フレームの記述は、図１６の左下部のウィンドウ１０３における行番号１０の記述に対応するイベント処理ルールに基づいた記述である。図１６の左下部のウィンドウ１０３における行番号１０の記述は、第３８フレームに入ってから第３９フレームの直前までに達した場合、処理を停止することが記述されている。
【０１６１】
図１６の左上部のウィンドウ１０２における最上段の第４３フレームの記述は、図１６の左下部のウィンドウ１０３における行番号１１の記述に対応するイベント処理ルールに基づいた記述である。図１６の左下部のウィンドウ１０３における行番号１１の記述は、第４３フレームに入ってから第４４フレームの直前までに達した場合、処理を停止することが記述されている。
【０１６２】
図１６の左上部のウィンドウ１０２における最上段の第４８フレームの記述は、図１６の左下部のウィンドウ１０３における行番号１２の記述に対応するイベント処理ルールに基づいた記述である。図１６の左下部のウィンドウ１０３における行番号１２の記述は、第４８フレームに入ってから第４９フレームの直前までに達した場合、処理を停止することが記述されている。
【０１６３】
図１６の左上部のウィンドウ１０２における最上段の第５３フレームの記述は、図１６の左下部のウィンドウ１０３における行番号１３の記述に対応するイベント処理ルールに基づいた記述である。図１６の左下部のウィンドウ１０３における行番号１３の記述は、第５３フレームに入ってから第５４フレームの直前までに達した場合、処理を停止することが記述されている。
【０１６４】
図１６の左上部のウィンドウ１０２におけるラベルＬ１１乃至Ｌ１３は、図１６の左下部のウィンドウ１０３における行番号１７乃至２２の記述に対応するラベルの記述である。図１６の左下部のウィンドウ１０３における行番号１８乃至２１の記述は、第２フレームからラベルＡであり、第３９フレームからラベルＢであり、第４４フレームからラベルＣであり、第５４フレームからラベルＤであることが記述されている。
【０１６５】
図１６の左部の状態から、例えば、第４２フレームを削除して、タイムラインのステート長を短くするように編集された場合、タイムラインは、図１６の中央上部で示されるように、図１６の左上部の状態から第４２フレームの記述が一律削除された状態となる。
【０１６６】
さらに、アニメーション表示ルールは、図１６の中央下部のウィンドウ１０３の行番号３の記述は、図１６の左下部のウィンドウ１０３の行番号３の記述に対して、表示タイミングが１フレーム分短くなり、第４１フレームから第４３フレームの直前までに変更される。
【０１６７】
また、図１６の左下部のウィンドウ１０３の行番号５の記述は、分割されて図１６の中央下部のウィンドウ１０３の行番号５，６の記述となり、表示タイミングが１フレーム分短くなる。結果として、図１６の中央下部のウィンドウ３０１の行番号５の記述は、第３４フレームから第４３フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生する記述となり、図１６の中央下部のウィンドウ３０１の行番号６の記述は、第４４フレームから第４７フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第９フレームから再生する記述となる。すなわち、編集前の第４２フレームが削除された関係上、図１６の中央下部のウィンドウ１０３における行番号５の記述は、削除される直前までのアニメーションファイルを再生させる記述となり、行番号６の記述は、削除された以降のアニメーションファイルの第９フレームから再生する記述となる（オフセットした位置からアニメーションを再生させる記述となる）。
【０１６８】
同様に、図１６の左下部のウィンドウ１０３の行番号７の記述は、分割されて図１６の中央下部のウィンドウ１０３の行番号８，９の記述となり、表示タイミングが１フレーム分短くなる。結果として、図１６の中央下部のウィンドウ３０１の行番号８の記述は、第４２フレームから第４３フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第１フレームから再生する記述となり、図１６の中央下部のウィンドウ３０１の行番号９の記述は、第４４フレームから第４６フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第２フレームから再生する記述となる。
【０１６９】
さらに、イベント処理ルールの記述は、図１６の中央下部のウィンドウ１０３の記述における行番号１３乃至１７の記述において、削除された第４２フレーム以降のフレーム番号が１フレーム分ずれて、少なく記述される。
【０１７０】
尚、このとき、ラベルの情報は、第４２フレームの削除に伴って、１フレーム分ずれる。すなわち、図１６の中央下部の行番号２２，２３の記述は、図１６の左下部の行番号２０，２１の記述に対して、１フレーム分詰められている。
【０１７１】
また、逆に図１６の左上部の状態から、上から第２段目の第３９フレーム乃至第４４フレームの直前までの区間を第５３フレームの直前まで伸ばした場合、図１６の右上部で示されるように編集される。
【０１７２】
この処理により、図１６の右下部のウィンドウ１０３における行番号１６の記述は、タイムラインが伸ばされた分だけフレーム数が増え、第３９フレーム乃至第５３フレームの直前までのタイミングのイベント処理ルールとなる。この処理の結果、第５，７段目の区間が分断されるため、アニメーション表示ルールの記述が分割される。すなわち、図１６の左下部のウィンドウ３０１の行番号５の記述は、図１６の右下部のウィンドウ３０１の行番号５，６の記述となる。図１６の右下部のウィンドウ３０１の行番号５の記述は、第３４フレーム乃至、区間が伸ばされる起点となる第４４フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生する記述となり、図１６の右下部のウィンドウ３０１の行番号６の記述は、第５３フレームから第５５フレームの直前までのタイミングで、アニメーションファイルが「ａ１」に対応するID＝０のアニメーションを、アニメーションファイルの第１フレームから再生する記述となる。
【０１７３】
同様に、図１６の左下部のウィンドウ３０１の行番号６の記述は、図１６の右下部のウィンドウ３０１の行番号８，９の記述となる。図１６の右下部のウィンドウ３０１の行番号８の記述は、第４２フレーム乃至、区間が伸ばされる起点となる第４４フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第１フレームから再生する記述となり、図１６の右下部のウィンドウ３０１の行番号９の記述は、第５３フレームから第５５フレームの直前までのタイミングで、アニメーションファイルが「ａ２」に対応するID＝１のアニメーションを、アニメーションファイルの第１フレームから再生する記述となる。
【０１７４】
さらに、イベント処理ルールの記述は、図１６の右下部のウィンドウ１０３の記述における行番号１２乃至１７の記述において、削除された第４４フレーム以降のフレーム番号が、スライドされた９フレーム分だけ多く記述される。
【０１７５】
尚、このとき、ラベルの情報は、第４４フレーム以降のフレーム番号がスライドした９フレーム分増えて記述される。すなわち、図１６の右下部の行番号２２，２３の記述は、図１６の左下部の行番号２０，２１の記述に対して、９フレーム分増えて記述されている。
【０１７６】
また、ステート長の変更に伴う状態遷移図の変更は発生しないため、状態遷移図は、変化しないままとなる。
【０１７７】
次に、トランジションの追加または削除について説明する。
【０１７８】
例えば、図１６の左部のウィンドウ１０２，１０３で示されるタイムライン、およびUI構成データである場合、状態遷移図は、図１７のウィンドウ１０１で示されることになる。
【０１７９】
すなわち、図１７のウィンドウ１０１においては、状態Ａ乃至Ｄに対応する状態枠Ｓｔ１１乃至Ｓｔ１４が記述されており、トランジションＴ１１が基点から状態枠Ｓｔ１１から状態枠Ｓｔ１２に向かって記述されている。また、状態枠Ｓｔ１３から状態枠Ｓｔ１４に向かって（状態Ｂから状態Ｃに向かって）トランジションＴ３１が、状態枠Ｓｔ１４から状態枠Ｓｔ１３に向かって（状態Ｃから状態Ｂに向かって）トランジションＴ３２が、それぞれ記述されている。トランジションＴ３１，Ｔ３２は、それぞれ図１６の左下部のウィンドウ１０３の行番号１４，１５の記述に対応するものである。
【０１８０】
したがって、状態遷移図上で、トランジションＴ３１，Ｔ３２が記述されると、それぞれ図１６の左下部のウィンドウ１０３の行番号１４，１５が記述され、同時に、図１６の左上部のタイムラインにおいては、その第２段目のように記述される。逆に、状態遷移図上でトランジションＴ３１，Ｔ３２が削除されると、それぞれ図１６の左下部のウィンドウ１０３の行番号１４，１５の記述が削除され、同時に、図１６の左上部のタイムラインにおける第２段目の記述も削除される。さらに、タイムラインにおいて、図１６の左上部のタイムラインにおける第２段目に示すように編集されることにより、状態遷移図上には、図１７で示されるようなトランジションＴ３１，Ｔ３２が記述されることになる。図１６の左上部のタイムラインにおける第２段目の記述が削除されることにより、状態遷移図上では、図１７で示されるようなトランジションＴ３１，Ｔ３２が削除されることになる。
【０１８１】
以上によれば、UI構成データを編集するにあたり、UI構成データを状態遷移図およびタイムラインのいずれでも表現することが可能であるため、そのいずれでもUI構成データを編集することが可能となり、状態遷移図の編集結果をUI構成データおよびタイムラインに反映させることができ、逆に、タイムラインの編集結果をUI構成データおよび状態遷移図に反映させることもできる。
【０１８２】
また、UI構成データが、状態遷移図およびタイムラインのいずれでも表現できるので、状態遷移図とタイムラインとに互換性を持たせることが可能となり、状態遷移図を用いてタイムラインを編集したり、タイムラインを用いて状態遷移図を編集することが可能となる。
【０１８３】
本発明の一側面によれば、ユーザインタフェースを実行するデータに基づいて、タイムラインを生成し、データに基づいて、状態遷移図を生成し、タイムラインの操作内容に基づいて、タイムラインを編集し、状態遷移図の操作内容に基づいて、状態遷移図を編集し、タイムラインの編集結果、または、状態遷移図の編集結果に基づいて、データを編集して更新するようにしたので、UIのプログラムの開発の効率を向上させることが可能となると共に、同一のUIのプログラムに基づいたタイムラインと状態遷移図とを相互変換させるようにすることが可能となる。
【０１８４】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１８５】
図１８は、図１の編集装置１の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU３０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU３０１は、バス３０４および入出力インタフェース３０５を介してユーザからキーボードやマウスなどからなる入力部３０６から指令が入力されると、それに対応してROM(Read Only Memory)３０２に格納されているプログラムを実行する。あるいはまた、CPU３０１は、ドライブ３１０に接続された磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリを含むリムーバルメディア３２１から読み出され、記憶部３０８にインストールされたプログラムを、RAM(Random Access Memory)３０３にロードして実行する。これにより、上述した図１の編集装置１の機能が、ソフトウェアにより実現されている。さらに、CPU３０１は、通信部３０９を制御して、外部と通信し、データの授受を実行する。
【０１８６】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１８に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３２１、または、プログラムが一時的もしくは永続的に格納されるROM３０２や、記憶部３０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部３０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１８７】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１８９】
【図１】本発明を適用した編集装置の一実施の形態の構成を示す図である。
【図２】図１の編集装置で編集されたUI構成データを再生する再生装置の構成例を示す図である。
【図３】図２の再生装置によるUI構成データ再生処理を説明するフローチャートである。
【図４】UI構成データに対応する状態遷移図およびタイムラインを説明する図である。
【図５】図１の編集装置によるタイムライン編集処理を説明するフローチャートである。
【図６】図５のタイムライン編集処理におけるタイムライン表示処理を説明するフローチャートである。
【図７】UI構成データに対応する状態遷移図およびタイムラインを説明する図である。
【図８】UI構成データに対応する状態遷移図およびタイムラインを説明する図である。
【図９】図５のタイムライン編集処理におけるタイムライン編集操作に基づいたUI構成データ編集処理を説明するフローチャートである。
【図１０】図１の編集装置による状態遷移図編集処理を説明するフローチャートである。
【図１１】図１０の状態遷移図編集処理におけるタイムライン表示処理を説明するフローチャートである。
【図１２】図１０の状態遷移図編集処理における状態遷移図編集操作に基づいたUI構成データ編集処理を説明するフローチャートである。
【図１３】図１０の状態遷移図編集処理における状態遷移図編集操作に基づいたUI構成データ編集処理を説明する図である。
【図１４】UI構成データに対応する状態遷移図およびタイムラインを説明する図である。
【図１５】UI構成データに対応する状態遷移図およびタイムラインを説明する図である。
【図１６】タイムラインによるステート長の変更に伴う編集処理を説明する図である。
【図１７】タイムラインによるトランジションの編集処理を説明する図である。
【図１８】媒体を説明する図である。
【符号の説明】
【０１９０】
１  編集装置，  １１  タイムライン抽出部，  １２  タイムライン編集部，  １３  アニメーション表示ルール設定部，  １４  状態遷移図抽出部，  １５  状態遷移図編集部，  １６  ラベル設定部，  １７  操作部，  １８  イベント処理ルール設定部，  １９  UI構成データ編集部，  ２０  編集画面表示部，  ２１  UI構成データ保持部，  ２２  UI構成データ出力部
【図１】
2007183737.tif 000003
【図２】
2007183737.tif 000004
【図３】
2007183737.tif 000005
【図４】
2007183737.tif 000006
【図５】
2007183737.tif 000007
【図６】
2007183737.tif 000008
【図７】
2007183737.tif 000009
【図８】
2007183737.tif 000010
【図９】
2007183737.tif 000011
【図１０】
2007183737.tif 000012
【図１１】
2007183737.tif 000013
【図１２】
2007183737.tif 000014
【図１３】
2007183737.tif 000015
【図１４】
2007183737.tif 000016
【図１５】
2007183737.tif 000017
【図１６】
2007183737.tif 000018
【図１７】
2007183737.tif 000019
【図１８】
2007183737.tif 000020