RPGツクール2000/マップイベント
物を押して移動させる
■床スイッチの上に物が乗ると扉が開く
(更新:2013/09/14)


物を移動させるで作られたイベントを特定のマスへ移動させますと、
スイッチがONになり、扉が開くイベントを作成します。

             動作イメージ
タルイベントを押して
床スイッチの所まで移動させる



床スイッチの上に
タルを乗せると扉が開く

※床スイッチに乗せたタルイベントをさらに押して床スイッチから移動しますと、
 再び扉は閉じます。


このページは続きとなっているページです
物を押して移動させるの基礎ページをご覧の上で
このページをご覧ください。
【物を押して移動させるの基礎ページを見る】
扉イベントの作り方は別ページにて紹介します。
【扉の作り方を見る】



今回は、X座標=15、Y座標=3の位置に床スイッチを作成して、
その上にタルイベントが乗りますと、扉が開くイベントを作成します。


床スイッチの上に物が乗っているかどうかを判断する処理は、
イベントコマンド:指定位置のイベントID取得を使用して、
床スイッチのマスのイベントIDを調べます。
もしも床スイッチのイベントIDではないイベントIDを取得した時には、
床スイッチにタルイベントが乗っていると判断して、
スイッチ0001番をONにして、扉を開けるようにします。

■マップイベント「床スイッチ」
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラの下
グラフィック:自由
◆指定位置のイベントID取得:(015,003),[0001:イベントID]<床スイッチのマスを調べる
◆条件分岐:変数[0001:イベントID]が2以上<このイベントの上にイベントが重なった時
 ◆スイッチの操作:[0001:扉が開く]をONにする
 ◆イベント処理の中断
 ◆
:分岐終了
◆スイッチの操作:[0001:扉が開く]をOFFにする

※条件分岐の「2以上」は、
 この床スイッチのマップイベントのイベントIDが「0001」の時の設定です。
 床スイッチのイベントIDが「0003」の時には、条件分岐の値は「4以上」など、
 必ず床スイッチのイベントIDより、1つ大きい値を条件分岐に設定してください。




主人公が押すと移動するマップイベントを作成します。
このイベントは物を移動させるで紹介している通りに作成しますが、
必ず床スイッチのイベントIDより大きいイベントIDで作成してください。

■マップイベント「タル」
イベント出現条件:なし
イベント開始条件:主人公から触れたとき
プライオリティタイプ:通常キャラと重ならない
グラフィック:タル
◆キャラクターの動作指定:このイベント,主人公から逃げる




扉イベントを作成します。

■マップイベント「扉」
▼1ページ目
イベント出現条件:なし
イベント開始条件:決定キーが押されたとき
プライオリティタイプ:通常キャラと重ならない
グラフィック:扉(下向き)
イベント実行内容は何も設定しません。

▼2ページ目
イベント出現条件:スイッチ[0001:扉が開く]がON
イベント開始条件:決定キーが押されたとき
プライオリティタイプ:通常キャラの下
グラフィック:透明
イベント実行内容には何も設定しません。


以上で設定完了です。



☆演出を追加する
扉が開く時に効果音と徐々に開くアニメーションを設定して、
閉じる時には扉が閉じる効果音を鳴らします。

床スイッチのイベントを以下のように設定してください。
■マップイベント「床スイッチ」
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラの下
グラフィック:自由
◆指定位置のイベントID取得:(015,003),[0001:イベントID]
◆条件分岐:変数[0001:イベントID]が2以上
 ◆条件分岐:スイッチ[0001:扉が開く]がOFF
  ◆効果音の演奏:開ける1
  ◆キャラクターの動作指定:扉イベント,右を向く,上を向く,左を向く
(移動頻度5)
  ◆スイッチの操作:[0001:扉が開く]をONにする<分岐内へ移動
  ◆
 :分岐終了

 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0001:扉が開く]がON
 ◆効果音の演奏:閉める1

 ◆スイッチの操作:[0001:扉が開く]をOFFにする<分岐内へ移動
 ◆
:分岐終了


※キャラクターの動作指定の移動頻度の設定は「5」にしてください。



☆主人公が乗った時に扉が開く
床スイッチの上に主人公が乗った時に扉が開くイベントを設定にします。

            動作イメージ
床スイッチに乗ると扉が開く

移動すると扉が閉まる
当然ながら主人公が移動すれば扉は閉まってしまいますので、
扉を通る事はできず、無意味なイベントのようにも思えますが、
プレイヤーには「何かが乗ると扉が開く」と言うメッセージを伝える事ができます。

床スイッチのイベントのイベント実行内容は以下のように設定してください。
■マップイベント「床スイッチ」
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラの下
グラフィック:自由
◆指定位置のイベントID取得:(015,003),[0001:イベントID]
◆条件分岐:変数[0001:イベントID]が2以上
 ◆スイッチの操作:[0001:扉が開く]をONにする
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆条件分岐:変数[0002:X座標]が15<床スイッチのあるX座標と同じ
 ◆条件分岐:変数[0003:Y座標]が3<床スイッチのあるY座標と同じ
  ◆スイッチの操作:[0001:扉が開く]をONにする
  ◆イベント処理の中断
  ◆
 :分岐終了
 ◆
:分岐終了

◆スイッチの操作:[0001:扉が開く]をOFFにする




☆床スイッチの上にタルが置いてある状態にする
床スイッチの上にマップイベントを乗せて別のマップへ移動して戻ってきますと、
マップイベントの位置が初めにあった位置へ戻ってしまい、扉は閉じてしまいます。

▼こんな状態です




もしも別のマップから戻ってきた時に、扉が閉じてしまっては困る場合は、
移動したイベントを元の位置へ戻すの設定を使って、
場所移動を行う前にマップイベントの位置を変数に記憶します。
▼扉の内側の階段イベント
◆変数の操作:[0001:X座標01]代入,タルイベント01のX座標
◆変数の操作:[0002:Y座標01]代入,タルイベント01のY座標
◆変数の操作:[0003:X座標02]代入,タルイベント02のX座標
◆変数の操作:[0004:Y座標02]代入,タルイベント02のY座標
◆変数の操作:[0005:X座標03]代入,タルイベント03のX座標
◆変数の操作:[0006:Y座標03]代入,タルイベント03のY座標
◆場所移動:別のマップへ移動
◆スイッチの操作:[0002:元に戻す]をONにする




記憶した位置にマップイベントを移動させるイベントを作成します。
この移動させるイベントは、床スイッチの中に設定します。
■マップイベント「床スイッチ」
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラの下
グラフィック:自由
◆条件分岐:スイッチ[0002:元に戻す]がON
 ◆スイッチの操作:[0002:元に戻す]をOFFにする
 ◆イベントの位置を設定:物イベント01,(V[0001],V[0002])
 ◆イベントの位置を設定:物イベント02,(V[0003],V[0004])
 ◆イベントの位置を設定:物イベント03,(V[0005],V[0006])
 ◆
:分岐終了
◆指定位置のイベントID取得:(015,003),[0001:イベントID]
◆条件分岐:変数[0001:イベントID]が2以上
 ◆スイッチの操作:[0001:扉が開く]をONにする
 ◆イベント処理の中断
 ◆
:分岐終了
◆スイッチの操作:[0001:扉が開く]をOFFにする




◎関連ページ
 ●物を押して移動させる
 ○移動した物を元の位置へ戻す
 ┣○床スイッチの上に物が乗ると扉が開く
 ┗
○物の下に別のイベントを置く

 ●扉を作る
 ●場所移動前のマップイベントの位置を記憶


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール