オブジェクトの取り込みとパッケージ化

もくじ



オブジェクトの入出力機能について

ステージデザイナーには、作成したオブジェクトをファイルとして出力したり、ファイルから自身の
ゲームにオブジェクトを取り込む機能があります。
この機能を利用することで、自身の作成したオブジェクトを公開したり、ほかの人が作成した
オブジェクトを取り入れることが簡単にできます。


オブジェクト出力ファイルの種類

オブジェクトをファイル出力すると、以下のようなファイルが生成されます。
他の人にオブジェクトを渡す場合は、生成されたファイルすべてを渡してください。(でないと、読み込み時に正常に登録できない場合があります。)
役割 拡張子 詳細
オブジェクトファイル .opk オブジェクトの情報を格納するファイルです。以下の情報を持っています。
オブジェクトの情報 イベントあたり判定矩形モーションなどの
すべてのオブジェクトデータを持っています。
アニメーション
使用している
画像データ
オブジェクトがアニメーションを持っているときは、
使用されている画像のすべてを持っています。
オブジェクファイルによってオブジェクトが
追加された際には、自動的に画像が追加されます。
使用している
共有データベース内の
データアイテム情報
オブジェクトがイベントの中で共有データベースに
読み書きする場合、使用される共有データベース
内のデータアイテム情報を持っています。
オブジェクトファイルによってオブジェクトが
追加された際には、自動的に共有データベース
内にデータアイテムを追加します。

共通定数リスト登録ファイル (オブジェクト名)-
CommList.lst
共通定数リストを追加するファイルです。
出力したオブジェクトのデータベースや参照している共有データベース、イベントデータベース内のデータアイテムで
共通定数リストを参照していた場合、参照している共通リスト定数のアイテムがこのファイルに記録されます。
出力したオブジェクトを読み込んだとき、このファイルによって共通定数リストにアイテムが追加されます。
オブジェクトパッケージ
ファイル
.pls 上記のデータの読み込みを管理するファイルです。
プロジェクトへオブジェクトを取り込む際には、このファイルを指定します。
・イベントでオブジェクトを参照するようなイベントコマンドがあった場合、参照先のオブジェクトがオブジェクトパッケージリストファイルに
 登録されていると、正常に登録することができます。(オブジェクトの接続)
・上記データ以外に、出力するオブジェクトでイベントブロックが使用されていた場合は、自動的にイベントブロックも出力します。

オブジェクトの入力の流れを図に表すとこんな感じです。



オブジェクトパッケージファイルの入力

obj_packfile.png(32248 byte)
右図のように、「オブジェクト管理」タブ内の
lFolder3.ico(1406 byte)ボタンをクリックし、
「パッケージリストから読み込む」メニューを
クリックすると、ファイル選択ダイアログが
表示されます。

読み込みたいファイルを選択し、OKボタンを
押すと、取り込み方法を確認する
ウインドウが表示されます。

以下を参考に、取り込み方法を設定して、ダイアログのOKボタンを押してください。

▼このようなダイアログが表示されます。

「同一名称のオブジェクトが取り込まれようとしたとき」
この項目は、プロジェクト内に既に存在するオブジェクトと同一名称のオブジェクトが取り込まれようとしたときに、
どのようにするかを設定します。
  • 取り込むかどうかを聞く:
    内容にかかわらず、取り込むかどうかをユーザーに聞きます。
  • 内容が同一かどうかを確認し、同一なら取り込むかどうかを聞く:
    内容を比較し、同一であれば取り込むかどうかをユーザーに聞きます。同一でなければ取り込みを続行します。
  • 内容が同一かどうかを確認し、同一なら取り込まない:
    内容を比較し、同一であれば取り込みません。同一でなければ取り込みを続行します。
  • 無条件にすべて取り込む:
    すべて取り込みます。

なお、同一名称のオブジェクトが取り込まれた場合、取り込まれた側のオブジェクト名称が変更されます。
(名称に日付情報が付加されます。)

注意
同一のオブジェクトパッケージが読み込まれたかどうかを検知することはできますが、以下のような状況では
正しく比較できない場合があります。
  • プロジェクト内で編集したオブジェクトと、取り込まれるオブジェクトとの比較
    (まったく同一の場合でも異なるオブジェクトとして検知される可能性があります。)
  • オブジェクトパッケージから取り込まれたオブジェクトのアニメーション画像を編集したとき
    (同一のオブジェクトパッケージを読み込んだとき、画像が異なることになりますが、同じオブジェクトとして
    検知されます。)
    (これは、オブジェクト比較時に、画像は比較していないためです。)


「取り込みをスキップしたときの動作」
名称(もしくは内容が)重複するオブジェクトを取り込まなかった場合、取り込まれるはずだったオブジェクトとの
接続をどのように行うかを設定します。
  • 既にプロジェクトに存在するオブジェクトと接続を試みる:
    既にプロジェクトに存在するオブジェクトと接続します。
  • 接続しない:
    接続をしません。これを選択した場合、接続されるはずだったオブジェクトが接続されないため、
    オブジェクトデータアイテムやイベント開始条件呼び出しイベントコマンドなどが正常に動作しない
    可能性があります。
    このため、必要に応じて取り込んだオブジェクトのイベントを編集する必要があります。


オブジェクトパッケージファイルの出力

出力をする前に

オブジェクト同士が連携して動作する場合(たとえばイベントコマンドで別のオブジェクトを参照している場合など)や
イベントブロックを参照していたり、共有データアイテムを使用している場合などにおいて、出力の仕方によっては
入力時に正常に各種データが接続されず、うまくイベントが動作しないことがあります。
以下のことに注意してください。

bar.png(864 byte)

◆その1:
オブジェクトの接続は、オブジェクトの名前を参照して行われます。(ファイル名ではありませんよ)
よって、出力・公開する際にはできるだけほかのオブジェクトと重複しないような名称を付けてください。

(例)宝箱オブジェクトを出力する場合:
×(重複しやすい名称):宝箱
○(推奨する名称)  :宝箱(《作者の名前など》) など

万一名称が重複した場合は、取り込み時にオブジェクトを取り込むかどうかを尋ねるメッセージが表示されます。そのとき、
・スキップすること(はい)を選択した場合は、該当する名称のオブジェクトの取り込みをしないようにできます。
 ただし、取り込まれなかったオブジェクトは接続されません。
 
・スキップしないこと(いいえ)を選択した場合は、該当する名称のオブジェクトの取り込みをしますが、
 名称の末尾に取り込んだ時の日付と時刻が追加されます。
 他オブジェクトと名称のかぶったオブジェクトとの接続は、取り込んだオブジェクトと行われます。
 
 名称がかぶってしまっても取り込みは可能ですが、混乱を招かないように配慮してください。
bar.png(864 byte)

◆その2:
以下のようなイベントコマンドに対しては、正常に接続をすることができません。
T. マップに依存しているイベントコマンド
【例】マップ移動の際、データアイテムを介さずにマップを直接設定している 
   接続点を使用するイベントコマンドで、データアイテムを介さずにマップを直接設定している など…
U. イベントコマンド「他配置オブジェクトイベント開始条件を呼び出す」を使用している際に、
対象の配置オブジェクトをデータアイテムを介さずに、マップから設定している場合

bar.png(864 byte)

◆その3:
出力するオブジェクトがイベントコマンドなどで
共有データベース内のデータアイテムを参照していた
場合、参照しているデータアイテムも一緒にファイルに
収められます。
しかし、「BaseRoot」直下にあるデータアイテムは
ファイルに収められないので注意してください。
一緒にパッケージしたい共有データベース内の
データアイテムがある場合は、「BaseRoot」内に
フォルダを作成し、その中にデータアイテムを
おさめてください。

bar.png(864 byte)

◆その4:
出力されたオブジェクトは以下の機能に制約がつくことに注意してください。
kerr.png(11855 byte)

条件分岐パラメータ「あたり判定配置オブジェクト」「あたり判定オブジェクト」
「あたり判定配置オブジェクトの識別タグ」
には判定するあたり判定矩形を設定することができますが、出力されたオブジェクトについては以下のような
現象が発生します。

たとえば、「オブジェクトA」をファイルから取り込んだ後、オブジェクトAに修正を加えた「オブジェクトA’」も
取り込んだとします。
図のように赤いオブジェクトがオブジェクトAの緑色のあたり判定矩形に入ったとき、オブジェクトAのイベント内で
青色の矩形のみに反応する条件分岐を作成すれば本来はあたり判定を検知しないはずです。
しかし上記の条件下では、オブジェクトA’の青色の判定矩形を検知し、その結果あたり判定矩形を検知します。

これは、処理内部でのあたり判定矩形の識別法による仕様です。

「実行時に判定された自身のあたり判定矩形」機能についても同様の現象が発生します。

このような現象を避けるために、オブジェクトAとオブジェクトA’が同一プロジェクト内にないようにするか、
このような現象が発生しても問題ないオブジェクトを作成してください。
(図のような条件とならない限りはこのような現象は発生しません)

出力をした後は

オブジェクトファイルを出力した後は、念のため出力をしたファイルを、出力元とは異なるプロジェクトで
読み込み、動作を確認してください。


オブジェクトパッケージファイルの出力

obj_packmake.png(27221 byte)

オブジェクトの入力時と同様に、「オブジェクト管理」タブ内のlFolder3.ico(1406 byte) ボタンをクリックし、「パッケージ出力」メニューを
クリックすると右図のようなダイアログが表示されます。

赤枠部分からオブジェクトを選択し、ダブルクリックするかボタンをクリックして、青枠部分に出力するオブジェクトを
追加します。
青枠部分内のオブジェクトの出力を解除したい場合は対象のオブジェクトを青枠部分リストから選択してボタンを
押せば、リストから除外されます。

「出力」ボタンをクリックすると、どのフォルダに出力されるのかを選択するダイアログが表示されます。
出力されるファイルは、オブジェクトファイルと、それをまとめるオブジェクトパッケージファイルです。
これらの複数ファイルが選択されたフォルダに出力されます。
フォルダは自動作成されないので、必要に応じて新しいフォルダを
用意し、出力してください。