ステージデザイナー:ヘルプファイル:データベース

   データベース

もくじ


データベースとは

ゲームの情報を記録しておく機能をデータベースで実現します。
ステージデザイナーでは、データベースに「データアイテム」と
よばれる、値を入れるためのものを登録し、データアイテムに値を
代入することで、ゲームの情報管理ができます。これらの値は
各種イベントコマンドに使用できます。
【例】配置オブジェクトの場所を変えるとき、データアイテムの
値を使いたい など…。

データベースの内容は簡単に編集でき、ゲームの実行中でも
イベントコマンドを使って書き換えることができます。

また、イベントコマンドを使用して、指定されたデータアイテムを保存することもできます。これを利用すると、
実行中の状態を保存することができるので、ゲームに「セーブ・ロード」の機能をつけることができます。


データアイテム

値を入れる、入れ物の役割をするのがデータアイテムです。入れる値の種類によって、様々なものがあります。
データアイテムの種類の一覧を以下に示します。
アイテム名称 機能 格納できる値の範囲 ゲーム実行中の
保存機能の対応
整数値 整数値を格納できます。 -2,147,483,648 〜
 2,147,483,647
文字列 装飾付き文字列
(オブジェクトに表示する文字列)を格納できます。
---
配置オブジェクト 配置オブジェクトを格納できます。
くわしくは「配置オブジェクトデータアイテム」を
参照してください。
マップ上に配置された
配置オブジェクト
小数値 小数の値を格納できます。 負:-1.79769313E+308 〜
-4.940656458E-324、
正: 4.940656458E-324 〜
1.7976931348E+308
マップ プロジェクトに登録されているマップを格納できます。 登録済みマップ
接続点 マップに登録されている接続点を格納できます。 登録済み接続点
キーボタン プロジェクトに登録されているキーを格納できます。 登録済みキー
オブジェクト種別 プロジェクトに登録されているオブジェクトの種類を
格納できます。
登録済みオブジェクト
整数列挙値 項目情報を格納できます。
詳しくは「整数列挙値データアイテム」を
参照してください。
登録済み列挙値
サウンド プロジェクトに登録されているサウンドを格納できます。 登録済みサウンド


参照データアイテムについて

データアイテムには、「参照データアイテム」と呼ばれるものが
あります。
参照データアイテムと通常のデータアイテムをリンクさせる
ことで、参照データアイテムからリンクしたデータアイテムに
アクセスできます。

具体的には、イベントコマンドなどで参照データアイテムの
データを参照すると、リンクしてあるデータアイテムの中身を
渡し、参照データアイテムのデータの変更をすると、
リンクしてあるデータアイテムの中身が変更されます。


3つのデータベース

データベースは、「共有データベース」、「イベントデータベース」「オブジェクトデータベース」の3種類あります。
基本的に、イベントからデータベースの中のデータアイテムに対して値を読み書きすることができますが、データベースの
種類によって読み書きの制限がかかります。


共有データベース どのイベントからも読み書きできるデータベースです。
保存したいゲームのデータ(主人公の体力など)をここに登録すると、保存イベントコマンドによって
ゲーム実行中にファイル出力することもできます。
イベントデータベース 各イベントに付属するデータベースです。
読み書きは、所属するイベント内のみで可能で、イベントの実行が終了すると中の値も初期化
されます。
イベント実行中に、値を一時的に記録したいときに使用します。
オブジェクト
データベース
オブジェクトに付属するデータベースです。
データアイテムはオブジェクトごとに設定しますが、ゲーム実行時は配置オブジェクトごとに
データベースが作成されます。
データの読み書きは、実行されるイベントが所属する配置オブジェクト内のみで可能です。
オブジェクト内で完結するようなデータは、このデータベースを使用することをお勧めします。


編集方法

「共有データベース」の編集画面は以下のようになっています。

(クリックで拡大)

それぞれの部分については、以下のようになっています。
@ データベースの中身を表示します。
登録されたデータアイテムを選択すると、それを編集することができます。

A データアイテムの名称を入力する部分です。
(@部分でデータアイテムを選択すると、選択されたアイテムの名称が表示されます。)

B データアイテムの値を入力する部分です。
C部分で設定されたデータアイテムの種類によって、さまざまな入力コントロールがここに
表示されます。

C データアイテムの種類を選択する部分です。

D データベース保存イベントコマンドが実行されたときに、このデータアイテムの値をファイルに出力するかどうかを設定する部分です。
(共有データベースのときのみ有効)

E 設定したデータアイテムを追加・もしくは変更を適用するボタンです。
データアイテムを追加する場合は、A〜Dを設定してから、「データを追加」ボタンを押します。
また、既に登録されているデータアイテムの値を変更したい場合は、変更項目を設定した後に「変更を適用」ボタンを押してください。

F データアイテムにコメントをつけることができます。
ここに好きな文字を入力してE部分の「変更を適用」もしくは「データを追加」ボタンを押すと、コメントが設定されます。
データアイテムの機能説明などのメモにお役立てください。


各ボタンに割り当てられた機能は以下の通りです。
データアイテムを入れる「フォルダ」を作成します。
(フォルダを作成することで、データアイテムの整理をすることができます。)
選択されたフォルダの名称を変更します。
選択されたデータアイテムもしくはフォルダの表示・非表示を設定します。
非表示データアイテムとフォルダを表示するかどうかを設定します。
選択されているデータアイテムを削除します。
選択されているデータアイテムを1つ上に移動します。※1
選択されているデータアイテムを1つ下に移動します。※1
データベース表示部分(@部分)を更新します。
選択されているデータアイテムの参照先を検索します。
(参照しているイベントをリストアップします。)
共通定数リストの管理 共通定数リストを編集します。
共通定数リストについては整数列挙値データアイテムを参照してください。
※1. データアイテムの移動は、所属するフォルダ内のみで可能です。
(たとえば、「フォルダ2」内のデータアイテムを「フォルダ1」に移動することは不可能です。)


データアイテム型変換

作成したデータアイテムの種類は通常、変更することができません。ただし、互換性のある種類同士であれば変更できます。
(変換後は、設定されている値がリセットされますので注意してください。)

変更したいデータアイテムを選択して右クリックし、「データアイテム種別の変更」から変更したいデータアイテムを
選択してください。


オブジェクトデータベースの編集

オブジェクトデータベースの使用を開始するには、下図赤枠部分の「オブジェクト・データベースを使用する」
にチェックをいれます。



編集は「初期値を設定する」ボタンを押して表示される画面上で行います。
(データアイテムの追加などのデータベース編集は、上記の共有データベース編集と同じ操作でできます。)


使用例

データアイテムはどのように使用するのかを、具体例を挙げて説明します。

例1:キャラクターの登録に使う

たとえばプレイヤーとして動作する配置オブジェクトは、さまざまなマップ上を移動します。

このとき共有データベースにあらかじめ配置オブジェクトデータアイテムを設定し、キャラクターをデータアイテムに
登録するようなイベントを作成しておきます。
すると、ほかの配置オブジェクト内のイベントは共有データベースに登録された配置オブジェクトを参照して、
イベントコマンドを使用することができるようになります。
通常は配置オブジェクトをイベントコマンドで選択する際、マップを選択してから配置オブジェクトを選択しますが、
データアイテムを使用すれば、マップの設定をすることなく配置オブジェクトの操作をすることができます。
(ただし、画面上で動作しているマップのいずれかに操作を行う配置オブジェクトが配置されていることが必要です。)

例2:オブジェクト同士のデータの共有

複数のオブジェクトを使用するとき、共有しなければいけないデータがあるとします。
このとき、共有データベースにそのようなデータを登録しておけば、どのオブジェクトのイベントからもデータを参照・操作することができます。


例3:ゲームデータの保存

共有データベースに限っては、データベース保存イベントコマンドが実行された際にデータベースの値を保存することが
できます。

上図赤枠部分の「ゲーム保存時に値を保存」にチェックが設定されているデータアイテムに関しては、
データベース保存イベントコマンドが実行された際に登録されている値がファイルに出力されます。
これを利用して、保存したいデータを共有データベース内に登録することで、ゲームにロード・セーブの機能を実装する
ことができます。
(この機能については、チュートリアルに解説記事があります。)


例4:状況によって動作を変えるオブジェクトをつくる

配置オブジェクトによって動作の内容を変更できるようなオブジェクトを作成するときには、オブジェクトデータベースを
利用すると便利です。


たとえば、ワープオブジェクトを作成するとします。
ワープの場所を配置オブジェクトによって変更したいときに、配置場所をオブジェクトデータベースから設定
できるようにします。
そのあとこのオブジェクトをマップ上に配置した際、上図の「データの設定をする」項目を設定すると、
設定した値が実行時にオブジェクトデータベース内のデータアイテムに代入されます。
(つまり、オブジェクトデータベースに対して、配置オブジェクトごとに異なる値を設定することができるということ)

これを利用すれば、汎用性のあるオブジェクトを作ることができます。


例5:値を保持する

たとえば配置オブジェクトの初期配置位置を記録しておいて後で使いたい、といったような、値を保持する
必要のある処理を行いたい場合は、データアイテムを使用します。


例6:値を利用する


たとえば自身の位置からほかの配置オブジェクトの位置を変更したいとします。
このとき、上図@部分のようにまずは自身の位置をデータアイテムに代入し、つぎにA部分でデータアイテムを参照して位置を設定するといった
手法を用います。
このように、値を利用するためにデータアイテムを用いることもあります。
(この例のように、一時的にデータアイテムを利用する場合は「イベントデータベース」を利用するとよいです。)