RPGツクール2000/演出【サイトトップへ戻る】
■マップのどこからでも出られる
(更新:2020/08/02)


マップの端ならば、どこからでも出られるイベントの作り方を紹介します。

▼黄色いマスに主人公が移動すると町の外へ移動します。




マップの端にいるかどうかは、主人公の画面位置で判断します。

マップのどこかに以下のイベントを作成してください。

■マップイベント「別のマップへ移動」

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

◆変数の操作:[0001:画面位置]代入,主人公の画面X
◆条件分岐:変数[0001:画面位置]が8以下<画面の左端にいる
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が312以上<画面の右端にいる
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆変数の操作:[0001:画面位置]代入,主人公の画面Y
◆条件分岐:変数[0001:画面位置]が16以下<画面の上端にいる
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が240以上<画面の下端にいる
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了


▲トップへ戻る▲


  
■エンカウントがあるマップの場合

エンカウントの設定があるマップの場合、
マップの端に移動した際に場所移動敵の出現が重なってしまうと、
戦闘画面が表示された状態で、BGMが戦闘用のBGMではなく、
移動先のマップに設定されているBGMが演奏されます。

この問題を回避するには、下記の設定方法が有効的です。



まずマップイベント「別のマップへ移動」とは別に、
新たにマップイベント2つ作成してください。

設定する場所は、マップ内ならどこでも構いません。

■マップイベント「マップの左右に配置」

イベント出現条件:なし
イベント開始条件:主人公から触れたとき
プライオリティタイプ:通常キャラの下
グラフィック:透明

イベント実行内容には何も設定しません。

■マップイベント「マップの上下に配置」

イベント出現条件:なし
イベント開始条件:主人公から触れたとき
プライオリティタイプ:通常キャラの下
グラフィック:透明
イベント実行内容には何も設定しません。

本来は透明なグラフィックを設定しますが、動作テストを行う際は、
一時的に階段グラフィックなどの見えるグラフィックにして、
動作テストを行うと良いでしょう。



マップイベント「別のマップへ移動」に以下のイベントを追加してください。

■マップイベント「別のマップへ移動」

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

◆変数の操作:[0001:画面位置]代入,主人公の画面X
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆変数の操作:[0003:Y座標]代入,主人公のY座標
◆条件分岐:変数[0001:画面位置]が24
 ◆変数の操作:[0002:X座標]代入,0
 ◆イベントの位置を設定:マップの左右に配置, (V[0002],V[0003])
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が296
 ◆変数の操作:[0002:X座標]加算,1
 ◆イベントの位置を設定:マップの左右に配置, (V[0002],V[0003])
 ◆
:分岐終了
◆変数の操作:[0001:画面位置]代入,主人公の画面Y
◆変数の操作:[0002:X座標]代入,主人公のX座標
◆条件分岐:変数[0001:画面位置]が32
 ◆変数の操作:[0003:Y座標]代入,0
 ◆イベントの位置を設定:マップの上下に配置, (V[0002],V[0003])
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が224
 ◆変数の操作:[0003:Y座標]加算,1
 ◆イベントの位置を設定:マップの上下に配置, (V[0002],V[0003])
 ◆
:分岐終了

◆変数の操作:[0001:画面位置]代入,主人公の画面X
◆条件分岐:変数[0001:画面位置]が8以下
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が312以上
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆変数の操作:[0001:画面位置]代入,主人公の画面Y
◆条件分岐:変数[0001:画面位置]が16以下
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了
◆条件分岐:変数[0001:画面位置]が240以上
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了



▼追加イベントの解説

ツクールの仕様には、これから移動するマスに、
主人公から触れたとき」のマップイベントがある時には、
エンカウントが実行されないと言った仕様があります。

この仕様を利用して主人公がマップの端のマスへ移動する前に、
マップの端にマップイベントを設定する事で、
エンカウントによる戦闘の実行を防ぐ事ができます。



▼別のマップへマップイベントを複製した時の注意点

マップイベント「マップの左右に配置」「マップの上下に配置」をコピーして
別のマップに貼り付けると、イベントIDが変わってしまう可能性があります。

そのため、マップイベント「別のマップへ移動」を別のマップに貼り付けた後には
必ずイベントコマンド:イベントの位置を設定の設定を確認し、
マップの左右に配置」「マップの上下に配置」の設定名になっているかどうかを
確認してください。


▲トップへ戻る▲



◎関連ページ

●町に入る方向で移動先を変える
●町に入ると町の名前が表示される

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