RPGツクール2000/演出
■マップのどこからでも出られる
(更新:2011/12/18)


マップの端ならば、
どこからでも出られるイベントの作り方を紹介します。
▼黄色いマスに主人公が移動すると町の外へ移動します。




マップの端にいるかどうかは、主人公の画面位置で判断します。
マップのどこかに以下のイベントを作成してください。

■マップイベント「別のマップへ移動」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明
◆変数の操作:[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以上
 ◆場所移動:〜世界マップへ〜
 ◆
:分岐終了




▼追加イベントの解説
エンカウントによる敵の出現を防ぐ方法として、
マップイベントを配置する方法があります。

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

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



▼別のマップへイベントをコピーした時の注意点
マップイベント「別のマップへ移動」を別のマップへコピーした場合は、
必ずイベントコマンド:イベントの位置を設定を確認してください。

◆イベントの位置を設定:?, (V[0002],V[0003])
などと不自然な表示になっている場合は、正しく修正してください。



◎関連ページ
 ●町に入る方向で移動先を変える
 ●町に入ると町の名前が表示される


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