RPGツクール2000/演出【サイトトップへ戻る】
■穴に落ちて下の階へ移動する
(更新:2020/08/02)


上の階のマップに空いている穴の上に主人公が乗ると、
下の階のマップへ移動するイベントの作り方を紹介します。

上の階のマップで穴と重なる


下の階のマップへ移動

なお、今回の設定では下の階のマップIDを「0002」とします。
【マップIDについての説明を見る】

ショートカット
■準備
■2種類の設定方法
■穴の上にマップイベントを設定するタイプ
■地形IDで穴の有無を判断するタイプ


  
■準備

上の階のマップ下の階のマップの2マップを用意してください。
2つのマップのサイズはなるべく同じマップのサイズが良いでしょう。

上の階
下の階

上の階のマップに設定する穴の位置(X座標、Y座標)は、
下の階では壁ではない所に設定してください。

▼うまく設定しないと穴の下が壁の位置になってしまう可能性もあります




データベース「チップセット」を開き、
穴の下層チップの通行設定を「移動可能」にしてください。




以上で準備完了です。


▲トップへ戻る▲


  
■2種類の設定方法

イベントの設定方法は、
穴の上にマップイベントを設定するタイプと、
地形IDで穴の有無を判断するタイプがあります。

  マップイベントタイプ 地形IDタイプ
マップイベントの設置 穴の数だけ設置 1個のみ
キャライベントの移動 穴の上に移動しない 穴の上に移動する
エンカウント 実行されない 実行する
戦闘中のBGMが移動先のマップの
BGMになる不具合が発生する

基本的に穴の上にマップイベントを設定するタイプで設定してください。


▲トップへ戻る▲


  
■穴の上にマップイベントを設定するタイプ

穴の上にマップイベントを設定し、主人公が穴の上のマップイベントを重なった時に、
下の階へ場所移動を行うようにします。

下層チップで穴を設定
穴の上にマップイベントを設定



変数
番号 名前 使用内容
0001 マップID 下の階(下のマップ)へ移動する時に使用
0002 X座標 主人公のX座標を設定
0003 Y座標 主人公のY座標を設定



■マップイベント「穴の上」

イベント開始条件:主人公から触れたとき
プライオリティタイプ:通常キャラの下
別のイベントと重ならない:チェックする
グラフィック:透明

◆変数の操作:[0001:マップID]代入,2<下の階のマップID
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆記憶した場所へ移動:V[0001](V[0002],V[0003])

上記マップイベントを作成したら、穴のマスにコピー&貼り付けで設定してください。


▲トップへ戻る▲


  
■地形IDで穴の有無を判断するタイプ

主人公がいるマスの地形IDを調べて、穴の地形の時には下の階のマップへ場所移動します。



データベース「地形」にて「」と言う地形を作成してください。

※敵出現倍率は「0%」にしてください。
※今回の設定例では、穴の地形IDを「11」で設定しています。





データベース「チップセット」にて、穴の下層チップ穴の地形IDを設定してください。





変数
番号 名前 使用内容
0001 マップID 下の階(下のマップ)へ移動する時に使用
0002 X座標 主人公のX座標を設定
0003 Y座標 主人公のY座標を設定
0004 地形ID 地形IDやイベントIDを取得する時に使用
0005 画面移動中チェックX 移動中かどうかを画面位置でチェック
0006 画面移動中チェックY 移動中かどうかを画面位置でチェック



上の階のマップのどこか(壁のマスなど)に、以下のマップイベントを設定してください。

■マップイベント「落下イベント」

イベント開始条件:定期的に並列処理する
グラフィック:透明

◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆指定位置の地形ID取得:(V[0002],V[0003]),[0004:地形ID]
◆条件分岐:変数[0004:地形ID]が11<主人公がいるマスが穴の地形IDの時
 ◆変数の操作:[0005:画面移動中チェックX]代入,主人公の画面X
 ◆変数の操作:[0006:画面移動中チェックY]代入,主人公の画面Y
 ◆変数の操作:[0005:画面移動中チェックX]減算,このイベントの画面X
 ◆変数の操作:[0006:画面移動中チェックY]減算,このイベントの画面Y
 ◆変数の操作:[0005〜0006]剰余,16
 ◆条件分岐:変数[0005:画面移動中チェックX]が0
  ◆条件分岐:変数[0006:画面移動中チェックY]が0
   ◆変数の操作:[0001:マップID]代入,2<下の階のマップID
   ◆記憶した場所へ移動:V[0001](V[0002],V[0003])
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了



今回のイベント実行内容には、画面位置を使った設定があります。

これは主人公が穴の上に移動したかどうかを確認するためのイベントです。

一応…
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆指定位置の地形ID取得:(V[0002],V[0003]),[0004:地形ID]
◆条件分岐:変数[0004:地形ID]が11
 ◆変数の操作:[0001:マップID]代入,2
 ◆記憶した場所へ移動:V[0001](V[0002],V[0003])
 ◆
:分岐終了
だけの処理でも穴に落ちる場所移動の設定は可能ですが、
この場合は、穴の上に主人公が移動する前(穴のマスへ移動し始めた瞬間)に、
場所移動が実行してしまいます。


▲トップへ戻る▲



◎関連ページ

●穴に落ちて下の階へ移動する
┗○穴の上に移動床を設定

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