Hako.png(402 byte) オブジェクトを出力しよう!

ステージデザイナーで作ったオブジェクトは、ファイルとして書き出すことができます。
書き出したオブジェクトは、ほかのプロジェクトで読み込むことができます。

たとえば、ほかのひとが作ったオブジェクトファイルを取り入れたり、自分が作った
オブジェクトを公開することができます。

この講座では、オブジェクトを出力する方法や、出力されるファイルの中身について
解説します。



もくじ

  1. 出力されるファイル
  2. ファイル出力のしかた
  3. ファイルの取り込みかた
  4. 公開する目的でオブジェクトをつくるときの注意

出力されるファイル

ここでは、オブジェクト出力機能によって出力されるファイルについて説明します。

出力ファイルその1:オブジェクトファイル


オブジェクトファイルは、「オブジェクトの情報」+「オブジェクトが使用している画像データ」+
「共有データベース内データアイテム情報」をもっています。

たとえば、出力するオブジェクトには、アニメーションが割り当てられていて、プロジェクトに
登録された画像を使用しているとしましょう。
すると、この画像データもオブジェクトファイル内に保存されるので、ほかのプロジェクトへ
取り込んだとき、画像も一緒に取り込まれるようになります。

オブジェクト内のイベントで、共有データベース内のデータアイテムを参照している場合は、
そのデータアイテム情報もファイル内に含まれるため、ほかのプロジェクトへ取り込んだとき、
そのプロジェクトの共有データベース内にデータアイテムが生成されます。

注意
オブジェクトパッケージを出力すると、画像も一緒に出力されます。
特に、他人の画像ファイルを無断で公開してしまうことのないよう、ご注意ください。
画像ファイルを出力したくない場合は、アニメーションを削除するか、公開しても問題ない
画像ファイルに差し替えてからパッケージを出力してください。

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

オブジェクト出力機能では、1度に複数オブジェクトの出力をすることができます。
たとえば、
  • オブジェクトAのイベントでオブジェクトBを生成するとき
  • オブジェクトAのイベントでオブジェクトBのイベント開始条件を呼び出すとき
などのようなイベントを組んだ場合、他プロジェクトで使用する場合はオブジェクトAとBの
2つのオブジェクトを出力する必要がありますね。

このようなとき、出力した複数のオブジェクトのとりまとめをするファイルがオブジェクトファイルです。
他プロジェクトに取り込む際には、(出力するオブジェクトが1つでも)このファイルを読み込みます。

出力ファイルその3:共通定数リスト登録ファイル

出力したオブジェクトが利用しているデータベース内のデータアイテムで、共通定数リストを
用いていた場合には、参照している共通定数リストのアイテムがこのファイルに記録されます。

出力したオブジェクトを読み込んだとき、このファイルによって共通定数リストにアイテムが
追加されます。

これらのファイルによって提供される機能

以上の3つのファイルをまとめて「オブジェクトパッケージ」といいます。
オブジェクトパッケージによる書き出し・取り込み規則を以下にまとめました。
  • オブジェクトアニメーションで割り当てられている画像はファイルに書き出され、取り込み先プロジェクトで自動追加されます。
  • イベントで参照されている共有データベース内のデータアイテムはファイルに書き出され、取り込み先プロジェクトで自動追加されます。
  • イベントコマンドのオブジェクト同士が関与するパラメータに関しては、依存するオブジェクトファイルがパッケージ内に存在した場合 (オブジェクトファイルが存在し、かつオブジェクトパッケージファイルに登録されていた場合)は依存関係が保たれます。
  • 共通定数リストを各種データベースで使用していた際には、取り込み先プロジェクトに共通定数リストが自動追加されます。


ファイルの出力のしかた

出力方法はとっても簡単です。
画像1:オブジェクトパッケージ出力メニュー

(クリックで拡大)

まずは、上図赤枠部分の「パッケージ出力」をクリックします。

画像2:オブジェクトパッケージ出力画面

(クリックで拡大)

すると、上図のような画面が表示されます。
出力したいオブジェクトを赤枠部分から選び、ダブルクリックすると、青枠A部分に
オブジェクトが追加されます。
青枠A部分に表示されているオブジェクトが、パッケージとして出力されます。

なお、赤枠部分において、フォルダ部分をクリックすると、そのフォルダ内部のオブジェクト
すべてが青枠A部分に追加されます。

間違って追加したオブジェクトを削除したい場合は、青枠A部分から対象のオブジェクトを
選択し、ごみ箱ボタン(gomi.png(210 byte))を押してください。

ここまで作業をしたら「出力」ボタンを押し、パッケージファイル名を入力したあと出力先を
設定すれば、オブジェクトパッケージが出来上がりです。

注意
  1. 出力先として設定したフォルダ内に直接ファイルが書き出されます。
    必要に応じて新しいフォルダを作成し、そこを出力先として設定するようにしましょう。
  2. 出力したファイルは、ほかのプロジェクトで取り込み、正しく出力されているかを
    確認することをおすすめします。
    システムのバグによって、正常に依存関係などが保たれない可能性もあります。
    (このような場合は、製作者までご連絡ください。)



ワンポイントその1
たとえば、
  • オブジェクトAのイベントでオブジェクトBを生成するとき
  • オブジェクトAのイベントでオブジェクトBのイベント開始条件を呼び出すとき
などのようなイベントを組んだ場合、オブジェクトAとBの2つのオブジェクトを同一パッケージ
として出力する必要があります。

よって、出力するオブジェクトがどのオブジェクトに依存しているのかを、ファイル書き出しの
前に調べておく必要がありますのでご注意ください。

ワンポイントその2
出力するオブジェクトには、なるべく個性的な名前を付けておくようにしましょう。
取り込み先のプロジェクトで取り込むオブジェクトと同一名称のオブジェクトが追加
されようとした場合は、取り込み確認のメッセージが表示されます。

取り込みする場合は、取り込まれたオブジェクトの名称は、元の名称に日付が付加された
ものとなります。


ファイルの取り込みかた

取り込み方法はもっと簡単です。
画像3:オブジェクトパッケージ取り込み画面

(クリックで拡大)

上図赤枠部分の「パッケージリストから読み込む」をクリックし、オブジェクトパッケージファイルを
選択すると、取り込みが開始されます。


公開する目的でオブジェクトをつくるときの注意

公開するためにオブジェクトをつくるには、いくつかの工夫があると、よりみなさんにとって使いやすい
オブジェクトにすることができます。

以下に、オブジェクトのつくりかたの例を挙げていきます。

例1. キー情報はオブジェクトデータアイテムから設定できるようにしよう

画像4:編集例1

(クリックで拡大)

キーが押されたらなにかをするオブジェクトを作ったとします。
このとき、設定するキーをオブジェクトデータベース内のデータアイテムとして設定すれば、
ほかのひとが使うときは、そのデータアイテムを編集すれば使用するキーを簡単に設定できるように
なりますね。

このように、使う人によって異なる設定にしたいようなイベントの場合は、オブジェクトデータアイテムを
用いるようにすると便利になります。


例2. マップ固有の情報などはつかわない


画像5:編集例2

(クリックで拡大)

たとえば「配置オブジェクトA」が「配置オブジェクトB」を操作するとします。
このとき、上図のように「配置オブジェクトB」をマップから設定してしまったとします。

すると、このオブジェクトをファイルに出力し、ほかのプロジェクトによみこんだとき、
取り込んだ側のプロジェクトには設定されたマップが存在しないため、場合によっては
ゲーム実行時にエラーとなってしまうかもしれません。

このような状況をさけるには、データベースを使用します。
方法1 共有データベースを使用する
objtips05_06.png(4501 byte)

「配置オブジェクトB」を生成するとき、自身を共有データベースのデータアイテムに
代入するようにすると、「配置オブジェクトA」はデータアイテム経由で
「配置オブジェクトB」を操作できるようになります。

この方法では、複数の配置オブジェクトが「配置オブジェクトB」を操作できるように
なるので、複数オブジェクトで「配置オブジェクトB」を利用したい場合などにおすすめです。


方法2 「配置オブジェクトA」が「配置オブジェクトB」をつくる
objtips05_07.png(3600 byte)
たとえば配置オブジェクトAが生成されるとき、イベント「オブジェクトを発生させる」を
つかえば、オブジェクトAのオブジェクトデータベース内のデータアイテムに、オブジェクトBを
代入することができます。
このようにすることで、オブジェクトBをオブジェクトAから操作することができます。

この方法は、「配置オブジェクトA」のみが「配置オブジェクトB」を操作するような場合に
おすすめです。

このほかの「マップ固有の情報」として、以下のものがあります。
  • カメラワークの設定
  • 接続点を直接マップから設定する
    接続点を格納できるデータアイテムを有効利用するといいですよ。


例3. プロジェクト固有の情報はつかわない

上記の「マップ固有の情報は使わない」と理由は同じです。
プロジェクト固有の情報を持ったオブジェクトをほかのプロジェクトに取り込んだ場合は、
正常に動作しないことがあります。

プロジェクト固有の情報とは、たとえば以下のようなものがあります。
  • サウンド情報
    サウンド情報をイベントで用いたいときは、サウンドデータアイテムを有効利用します。
  • マップ
    マップをイベントで用いたいときは、マップデータアイテムを有効利用します。

プロジェクト固有の情報をつかうときは、データアイテムを活用して、使用するユーザーの
プロジェクトに合わせて簡単に設定を変えられるようにするといいです。


おわりに

オブジェクトを書き出してみなさんでつかうことで、多くの方がより簡単にゲームを
作ることができるようになります。
みなさんも、ぜひオブジェクトパッケージの活用をしてみてください。





←もくじへもどる