※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

陸ニワトリの作成

「乗物の設定を考える」「データベース」に設定した情報を元に「陸ニワトリ」の設定をまとめてみます。

乗物名称 乗物の歩行グラフィック 乗物の影番号 乗物の移動速度 移動できる場所 乗り降りできる場所 その他
陸ニワトリ &attachref 通常の人間と同じ 少し早くなる 陸地 陸の移動可能箇所ならどこでも乗り降りできる。 マップが切り替わっても待機位置は変わらない。

使用される「変数」はこちら。

変数名 用途
乗物 0:乗物に乗っていない,1:陸ニワトリ,2:海ニワトリ,3:空ニワトリ,4:空ニワトリ(召喚型),
-1:陸ニワトリを降りた瞬間,-2:海ニワトリを降りた瞬間,-3:空ニワトリを降りた瞬間,-4:空ニワトリ(召喚型)を降りた瞬間
どの乗物に乗っているか&状態を判定するのに使用します。
陸ニワトリ入手フラグ 0:乗物を入手していない,1:乗物を入手した,2:入手した乗物に乗ったことがある
乗物を入手している場合のみ、マップ上に乗物を表示します。
すでに乗ったことがある場合は初期表示位置を変更します。

乗物イベントの設置

それでは、実際のマップに乗物用のイベントを設置して、イベント処理を作っていきましょう。


まずは、「ステップアップ」本編で使用したフィールドマップを改造して、乗物が動き回れる少し広めのマップにします。 また、上下左右にマップが繋がってスクロールするように「マップのループ設定」を「縦横両方にループ」に設定します。

&attachref

乗物イベントを作成する前に、準備イベントを作成します。


このイベントは今回の説明用に、乗物の入手フラグなどの初期設定をする準備イベントになります。 「乗物準備」という変数を新たに作成して、この変数が「0」の場合に自動実行されます。 処理内容は、「陸ニワトリ入手フラグ」を「1」にして、「陸ニワトリ」が表示される状態にします。 また、移動速度の変化が分かりやすいように、最初の主人公の移動速度を「イベントコマンド 動作指定」で少し遅くしています。 最初に1フレームのウェイトを入れているのは、マップ表示後すぐに実行されるイベントのため、「動作指定」などの処理をした場合に内容が反映されないことがあります。そういう場合には最初に1フレームのウェイトを入れることで解決します。他のケースでもよくあることなので、イベントがうまく動かない・処理が飛ばされている場合には、ウェイトを入れてみると解決するかもしれませんので覚えておきましょう。 最後に「乗物準備」に「1」が代入され、このイベントはもう実行されなくなります。

&attachref

「陸ニワトリ」のマップイベントを配置します。 このイベントに話しかけることで、「陸ニワトリ」に乗る処理が実行されるようにします。

&attachref

「陸ニワトリ」のマップイベントの初期設定をします。 名前と画像を選択します。マップイベントでも「データベース」で設定した乗物の画像をそのまま使用できるように設定したいところですが、処理が煩雑になってしまうので、今回は直に画像を指定します。 「オプション」で「すり抜け」をチェックしておきます。 「陸ニワトリ入手フラグ」が「1以上」、「乗物」が「1以外」の場合にこのイベントが表示されます。

&attachref

イベント処理を作成していきます。


操作キャラクターの座標を「陸ニワトリ」のマップイベントの座標に変更する処理を作るため、「陸ニワトリ」のマップイベントの座標を「このイベントのセルフ変数」に取得します。 「イベントコマンド 変数操作+」を使って、「X座標(精密)」を取得。

&attachref

同じく、「Y座標(精密)」を取得。

&attachref

最後に「イベントコマンド 場所移動」を使って、取得した「陸ニワトリ」のマップイベントの座標に主人公を移動させます。 座標はこのイベントのセルフ変数0X座標セルフ変数1Y座標に読み込んでいますが、ここではこのイベントのセルフ変数0このイベントのセルフ変数1といった分かりやすい指定をすることができないので、座標の指定をX「1100000」、Y「110001」と入力します。 これは「変数呼出し値」という変数を呼び出すための数値になります。この数値で座標を取得してある「このイベントのセルフ変数」を呼び出すことができます。 それぞれ「1100000」このイベントのセルフ変数0を表し、「1100001」このイベントのセルフ変数1を表しています。 詳しくは「変数呼び出し値」を参照してください。

&attachref

次に操作キャラクターの画像を「陸ニワトリ」の画像に変更する処理を作成します。 まずは、今の操作キャラクターのパーティーを含んだ画像の状態を保存します。 乗物から降りた時にもとに戻るためです。 「イベントコマンド キャラ画像」を使って、「特殊処理」で「パーティ全員の画像を記憶」を指定します。

&attachref

続いて、「特殊処理」で「キャラクター画像を全消去する」を選択します。

&attachref

そして、「入れ替え」で「1人目の画像を変数「1116000001」に変更」とします。 これで、操作キャラクターの画像が「陸ニワトリ」の画像に変更されました。 「1116000001」については、次で説明します。

&attachref

「1116000001」も先ほどの「変数呼出し値」で、これはデータベースの内容を呼び出すものになります。 「11 16000001 」が「可変ベータベース」。 「 11 16 000001 」が「タイプ番号16:乗物設定」。 「 1116 0000 01 」が「データ番号0:陸ニワトリ」。 「 11160000 01」が「内容1:乗物の歩行グラフィックのファイル名」。 となっています。 詳しくは「変数呼び出し値」を参照してください。

&attachref

イベント処理に戻り、最後に変数「乗物」に「1」を代入して、「陸ニワトリ」に乗ったというフラグを立てます。

&attachref

下記のような処理内容で「乗物に乗る」というイベントが完成しました。

&attachref

この状態でテストプレイすると、問題なく「陸ニワトリ」に乗れていることが確認できました。

&attachref

あとは追加部分として、「乗物の影の変更」と「乗物の移動速度の変更」を反映させていきます。 少し煩雑になりますので、軽く流していただいても問題ありません。


まずは、「乗物の影の変更」の処理です。 実際には「陸ニワトリ」の影とそれまでの操作キャラクターの影は同じなので、変更する必要はありませんが、このあとで説明する乗物で影響するものがありますので、ここで処理を作っておきます。 「イベントコマンド 変数操作」で「システム変数 36:主人公の影番号」に「データベース」で設定した「陸ニワトリ」の影番号を代入します。 「1116000002」は「変数呼び出し値」になっています。 これで、「乗物の影の変更」は完了です。

&attachref

次の「乗物の移動速度の変更」は少し煩雑になります。 「キャラクターの移動速度」は「イベントコマンド 動作指定」で設定するのですが、「乗物の影の変更」のように変数などを代入して変更することができないので、「データベース」で設定した「乗物の移動速度」の値を元に分岐を作って、その分岐の中で「イベントコマンド 動作指定」使って、「乗物の移動速度の変更」を行っていきます。


まずは「イベントコマンド 条件(変数)」で分岐を作成していきます。 「データベース」で設定した「乗物の移動速度」が「0の場合」・「1の場合」・「2の場合」と設定していきます。 移動速度の設定は「0~6」のため、分岐が足りませんので、「「上記以外の場合」を作成」をチェックして、その「上記以外」の分岐の中でさらに分岐を作っていきます。

&attachref

同じように、「データベース」で設定した「乗物の移動速度」が「3の場合」・「4の場合」・「5の場合」と設定していきます。 「「上記以外の場合」を作成」をチェックして、「上記以外」の分岐を作成することで、「6の場合」とします。

&attachref

「乗物の移動速度」が「0~6」ごとの分岐が出来ました。

&attachref

今度は作成した分岐の中で移動速度を変更していきます。 「0の場合」の分岐の中では、「イベンコマンド 動作指定」で「主人公の移動速度を0に設定」とします。

&attachref

同じように、各分岐で「イベンコマンド 動作指定」で移動速度の設定をして、このようになりました。

&attachref

これで、「乗物に乗るイベント」は完成です。

乗物管理イベントの設定

続いて、「乗物から降りるイベント」を作成していきます。 このイベントは他の乗物の処理を作るときにも使用するイベントのため「乗物管理イベント」とも言えます。


このイベントでは、ボタンが押されたら乗物から降りるという処理を作っていきます。


まずは、適当な位置にイベントを配置し、初期設定を行います。 このイベントは変数「乗物」が「1」の時・「陸ニワトリに」乗っている時に並列実行されます。

&attachref

「イベントコマンド その他1」「キー入力受け付け」で「決定ボタン」が押されたら、「このイベントのセルフ変数0」に「決定ボタン」の値「10」が代入されるようにします。 「キーが押されるまで待つ」のチェックをすることで、常時入力待ち状態となります。

&attachref

「イベントコマンド 条件(変数)」で「このイベントのセルフ変数0」に「決定ボタン」の値「10」が格納されているか判定するようにします。

&attachref

「決定ボタン」が押された場合の処理の中で、まずは現在の操作キャラクターの座標と向きを「データベース」の「陸ニワトリ」の設定に保存します。


「イベントコマンド 変数操作+」で「このイベントのセルフ変数1」に「主人公のX座標(精密)」を代入します。

&attachref

同じく、「イベントコマンド 変数操作+」で「このイベントのセルフ変数2」に「主人公のY座標(精密)」を代入します。

&attachref

こちらも、「イベントコマンド 変数操作+」で「このイベントのセルフ変数3」に「主人公の向き」を代入します。

&attachref

今度は「データベース」に上で取得した座標と向きの値を保存していきます。


「イベントコマンド DB操作」で「可変データベース 16:乗物設定 陸ニワトリ 乗物のX座標」に「このイベントのセルフ変数1」を代入します。

&attachref

「イベントコマンド DB操作」で「可変データベース 16:乗物設定 陸ニワトリ 乗物のY座標」に「このイベントのセルフ変数2」を代入します。

&attachref

「イベントコマンド DB操作」で「可変データベース 16:乗物設定 陸ニワトリ 乗物の向き」に「このイベントのセルフ変数3」を代入します。

&attachref

次は操作キャラクターの仲間の位置を先頭の主人公の位置に集合させます。 隊列を組んでパーティーが移動している場合、乗物に乗っているときは仲間の画像自体は消えていますが、透明状態の仲間と隊列を組んでいるイメージのため、乗物から降りる位置を合わせるため、先頭のキャラクターの位置に集合させる必要があります。移動時に、主人公だけで仲間を表示しないタイプの場合は意味のない処理になります。


「イベントコマンド キャラ画像」「特殊処理」で「仲間全員を主人公の位置にワープ」とします。

&attachref

集合させたところで、操作キャラクターの画像を乗物に乗る前の状態に戻します。


「イベントコマンド キャラ画像」「特殊処理」で「記録したパーティ全員の画像をロード」とします。

&attachref

続いて、操作キャラクターの影をもとに戻します。 「イベントコマンド 変数操作」で「システム変数 36:主人公の影番号」に「0」を代入します。 今回のものですと、「システムデータベース 9:キャラ影グラフィック名」の「0」番は通常の人間用の影になっています。

&attachref

あとは移動速度をもとに戻せば、操作キャラクター側の処理は終わりです。


「イベントコマンド 動作指定」で「主人公の移動速度」を「2」にします。

&attachref

最後に「イベントコマンド 変数操作」で変数「乗物」を「-1」にして、「陸ニワトリから降りた瞬間フラグ」を立てます。 現在のままだと、「陸ニワトリ」が今いた場所から消えてしまうので、このフラグを使って、現在の位置に「陸ニワトリ」のマップイベントを表示するようにします。

&attachref

「乗物から降りるイベント」の前半ができました。 ここまでの処理はこのようになっています。

&attachref

さて、「乗物から降りるイベント」の後半になります。 ここでは、「陸ニワトリ」のマップイベントを降りた位置に表示する処理を作っていきます。


同じ「乗物管理イベント」上で新しいページを作成します。 「新規ページ」ボタンで新しいページを作り、「ページ2」を選択します。 初期設定は変数「乗物が-1以下」の時・「陸ニワトリから降りた瞬間フラグ」が立っている時に、自動実行とします。 「以下」としたのは他の乗物でも流用できるようにしたいためです。

&attachref

「イベントコマンド 場所移動」で「陸ニワトリ」のマップイベントを「データベース」に保存してある「座標」に移動させます。

&attachref

今度は「向き」を読み込んでいきます。 「乗物の移動速度の変更」と同様に変数を代入して簡単に変更ができないので、煩雑な分岐を作っていきます。 「イベントコマンド 条件(変数)」で各向きの数値に合わせて、条件分岐を作成し、その中で「イベントコマンド 動作指定」を使って向きを変更していきます。


分岐を作る。

&attachref
&attachref
&attachref

各分岐でそれぞれの向きに変更すれば、「陸ニワトリ」のマップイベントの「座標」と「向き」が乗物から降りた状態で表示されます。

&attachref

最後に「イベントコマンド 変数操作」で変数「乗物」を「0」として、「乗物に乗っていないフラグ」とします。

&attachref

「乗物から降りるイベント」の完成となります。


これまでの処理はこちらです。分岐のおかげで長くなっていますが、処理自体は単純です。 「陸ニワトリ」のマップイベントを「データベース」に保存してある「座標」と「向き」で表示して、「乗物に乗ってないフラグ」を立てたという内容です。

&attachref

あとは、「陸ニワトリ」のマップイベント側のイベントの「起動条件」に変数「乗物が-1以外」を追加しておきます。 これで、このマップイベントは変数「乗物」が「0」になった瞬間に表示されるようになりました。

&attachref

長くなりましたが、ようやく乗物が一つ完成しました。

マップ切替時の調整

「陸ニワトリ」の乗り降り自体が完成して乗物の機能が実装されました。 あと少しだけ下記の点を考慮するための処理が必要です。

  • 乗物に乗ったまま、別のマップに移動できないようにする。
  • 乗物から降りて、別マップに移動してから戻ってきた場合に表示位置を維持する。
*乗物に乗ったまま、別のマップに移動できないようにする。

これは簡単です。 変数「乗物」が「0」の時は「乗物に乗っていない」ということになっていますので、マップ移動イベントの「起動条件」に変数「乗物が0と同じ」と追加します。

&attachref
*乗物から降りて、別マップに移動してから戻ってきた場合に表示位置を維持する。

この処理をしておかないと、乗物から降りて、別マップに移動して戻ってきた場合に、乗物が最初に配置してある位置に戻ってしまいます。 ファイナルファンタジーのチョコボのように野生の動物を捕まえて乗物にし、降りたら居なくなるというケースにしたい場合もあると思いますが、今回は乗物は降りた場所で待機しているようにします。


処理の流れは、一度乗物に乗ったことがあり、乗物の「データベース」に乗物から降りた時点の「座標」・「向き」が格納されている状態を前提とし、マップが読み込まれたら、「乗物」のマップイベントを「データベース」に保存されている「座標」と「向き」で表示するというものになります。


まずは「陸ニワトリ」のマップイベントを編集して、「一度乗物に乗ったことがある」というフラグが立つようにします。 「陸ニワトリ」のマップイベントに向かって、ボタンが押されたときに変数「陸ニワトリ入手フラグ」を「2」にして、「陸ニワトリにに乗ったことがある」という状態がわかるようにします。 イベント処理の先頭にこの処理を追加していきます。

&attachref

「イベントコマンド 変数操作」で変数「陸ニワトリ入手フラグ」に「2」を代入します。

&attachref

このようになりました。 「陸ニワトリ」のマップイベントでは1行だけ追加です。

&attachref

次に新しく乗物の位置を復元するイベントを配置します。 このイベントはマップが表示されたら、自動的に乗物の位置を復元する処理を実行し、最後にイベントを消去して終了という内容にします。 マップが表示された直後に1度だけ実行されるイベントです。


適当な位置に配置し、初期設定をしていきます。 名前を付けて、「起動条件」で「並列実行」とします。 「並列実行」としたのは「自動実行」とした場合に、トランジションなどで画面が切り替わる際にマップイベントの位置がずれたまま処理されることがあるためです。

&attachref

「イベントコマンド 条件(変数)」で変数「陸ニワトリ入手フラグが2と同じ=一度でも陸ニワトリに乗ったとがある」場合の分岐を作ります。

&attachref

今度は作成した分岐の中に乗物の「データベース」から「座標」・「向き」を読み込んで、「陸ニワトリ」のマップイベントを移動させるわけですが、これは「乗物管理イベント」を作成した際に同様の処理を作ってありますので、そこからコピー(Cキー)&ペースト(Vキー)で持ってきます。


「乗物管理イベント」を選択して、該当のイベント処理を範囲選択し、コピー(Cキー)します。 元の「乗物の位置を復元するイベント」に戻って、分岐の中にペースト(Vキー)します。 同じ処理なので、馴れてくるとこういうものは「コモンイベント」化しておきたいところですが、今回はこのままで進めていきます。

&attachref

「乗物の位置を復元するイベント」の最後にはこのイベントを消す処理を入れます。 「イベントコマンド その他1」「イベントの一時消去」で「このイベント」と指定します。

&attachref

これで「乗物の位置を復元するイベント」は完成です。

&attachref



完成した「陸ニワトリ」の動画になります。


今回の乗物「陸ニワトリ」は移動速度が変化するだけの乗物でしたが、変数「乗物」で「陸ニワトリに乗っている」という状態が参照できますので、これを使って様々な乗物の効果を追加することができます。 たとえば、敵と遭遇する確率を低くしたり、歩いているとアイテムを拾ってきたり、戦闘後にHPやSPを少し回復させたりなど、ただ乗るだけじゃない効果を考えてみるのも面白いと思います。

海ニワトリの作成

「海ニワトリ」もまずは設定をまとめてます。

乗物名称 乗物の歩行グラフィック 乗物の影番号 乗物の移動速度 移動できる場所 乗り降りできる場所 その他
海ニワトリ &attachref 影なし 変わらない 海と陸の境界で乗り降りできる。
降りるときに陸地が移動可能箇所でないと降りれない。
マップが切り替わっても待機位置は変わらない。

使用される「変数」はこちら。

変数名 用途
乗物 0:乗物に乗っていない,1:陸ニワトリ,2:海ニワトリ,3:空ニワトリ,4:空ニワトリ(召喚型),
-1:陸ニワトリを降りた瞬間,-2:海ニワトリを降りた瞬間,-3:空ニワトリを降りた瞬間,-4:空ニワトリ(召喚型)を降りた瞬間
どの乗物に乗っているか&状態を判定するのに使用します。
海ニワトリ入手フラグ 0:乗物を入手していない,1:乗物を入手した,2:入手した乗物に乗ったことがある
乗物を入手している場合のみ、マップ上に乗物を表示します。
すでに乗ったことがある場合は初期表示位置を変更します。

海移動用のタイルチップの作成

「海ニワトリ」は海を移動できる乗物になります。 前の「陸ニワトリ」は通常のキャラクターと同じく陸を移動する乗物だったので、「乗物イベントの流れ」「1.乗物ごとに「タイル設定ファイル」を作成する。」を作業する必要はありませんでしたが、今回はこの作業が必要になります。


現在のマップは陸移動用の「タイル設定ファイル」となっていますので、これから海移動用の「タイル設定ファイル」を作成していきます。


ツールバーから「タイルセット設定」ボタンを押します。

&attachref

「タイルセット設定」画面が表示されました。 「タイルセット設定」画面での詳しい操作は、「タイルセット設定」を参照してください。

&attachref

まずは「データ数の設定」ボタンを押して、データ数を増やします。 あとで作る空移動用のスペースも確保しておきます。

&attachref

「1:フィールドマップ」を選択して、「Cキー」を押すことで、「タイルセット設定」の内容をコピーすることができます。 あとは追加したところを選択して、「Vキー」でペーストしていきます。 これで、「1:フィールドマップ」の設定をベースにして、簡単に海移動用の「タイル設定ファイル」を作成することができます。

&attachref &attachref

間違えないように名前を変更しておきます。

&attachref

まずは、「通行許可設定」から変更していきます。 海のパターンを通行可に。 他の陸のパターンは通行不可にします。 これで、海を移動できる「タイル設定ファイル」ができました。

&attachref

今度は海から陸に降りるときの処理を作る準備をします。 「タグ番号設定」を変更していきます。 色が見にくい場合は「色変更」をチェックしましょう。 「1」番が上陸できるマップチップ。 「2」番が上陸できないマップチップを表すようにします。 建物など、地面の上に配置するマップチップは、地面のマップチップの設定を優先するように「0」番にしておきます。「0」番の設定は透過されて、下にあるマップチップのタグ番号が有効になります。

&attachref

これで、海移動用の「タイル設定ファイル」は完成しましたので、「OK・更新」ボタンを押して保存します。 この海移動用の「タイル設定ファイル」「イベントコマンド」を使って変更することで、海での移動ができるようになるわけです。

&attachref

同じ画面上での作業なので、少し勘違いする場合があるかもしれませんが、現在編集しているマップに今保存した「タイル設定ファイル」は反映されませんので、ご安心ください。 マップの「タイル設定ファイル」の変更はツールバーの「マップの基本設定」ボタンを押して、「マップの基本設定」画面で変更することによって変わります。

&attachref
&attachref

乗物イベントの設置

乗物管理イベントの設定

空ニワトリの作成}

まずは設定をまとめます。

乗物名称 乗物の歩行グラフィック 乗物の影番号 乗物の移動速度 移動できる場所 乗り降りできる場所 その他
空ニワトリ &attachref 通常の人間と同じ 変わらない 空。
障害物がなくなる。
陸の平地でのみ乗り降りできる。 マップが切り替わっても待機位置は変わらない。

使用される「変数」はこちら。

変数名 用途
乗物 0:乗物に乗っていない,1:陸ニワトリ,2:海ニワトリ,3:空ニワトリ,4:空ニワトリ(召喚型),
-1:陸ニワトリを降りた瞬間,-2:海ニワトリを降りた瞬間,-3:空ニワトリを降りた瞬間,-4:空ニワトリ(召喚型)を降りた瞬間
どの乗物に乗っているか&状態を判定するのに使用します。
空ニワトリ入手フラグ 0:乗物を入手していない,1:乗物を入手した,2:入手した乗物に乗ったことがある
乗物を入手している場合のみ、マップ上に乗物を表示します。
すでに乗ったことがある場合は初期表示位置を変更します。

空移動用のタイルチップの作成

乗物イベントの設置

乗物管理イベントの設定

空ニワトリ(召喚型)の作成

まずは設定をまとめます。

乗物名称 乗物の歩行グラフィック 乗物の影番号 乗物の移動速度 移動できる場所 乗り降りできる場所 その他
空ニワトリ(召喚型) &attachref 通常の人間と同じ 速くなる。 空。
障害物がなくなる。
陸の移動可能箇所ならどこでも乗り降りできる。 「ホイッスル」アイテムを使用して呼出し、乗ることができる。

使用される「変数」はこちら。

変数名 用途
乗物 0:乗物に乗っていない,1:陸ニワトリ,2:海ニワトリ,3:空ニワトリ,4:空ニワトリ(召喚型),
-1:陸ニワトリを降りた瞬間,-2:海ニワトリを降りた瞬間,-3:空ニワトリを降りた瞬間,-4:空ニワトリ(召喚型)を降りた瞬間
どの乗物に乗っているか&状態を判定するのに使用します。
空ニワトリ(召喚型)使用可能フラグ 空ニワトリ(召喚型)は「ホイッスル」アイテムを持っていて使用することで呼び出されるため、使用可能なマップにいるかを判定するのに使用します。

空(召喚型)移動用のタイルチップの作成

乗物イベントの設置

アイテムの設定

乗物管理イベントの設定