シーンからマップに場所移動

reserveTransferを使う

独自に作ったシーンからあるマップのある位置に移動するには$gamePlayer.reserveTransferを使う。
このメソッドの詳しい説明は以下のサイトが詳しい。
ツクールMVのスクリプトで場所移動を行う方法
ただ、Scene_MapからScene_Mapへの移動なら$gamePlayer.reserveTransferを呼び出すだけで移動できるが、
Scene_Map以外のシーンからの移動の場合は、reserveTransferに加えて、SceneManager.goto(Scene_Map)が必要。

1
2
$gamePlayer.reserveTransfer(6, 1, 1, 8, 0);
SceneManager.goto(Scene_Map);

Map IDの特定方法

ところで、$gamePlayer.reserveTransferの第一引数にMapのIDを渡さなければいけないが、これをどこで確認するか。
2つ方法があり、1つはエディタのマップの編集画面の以下の箇所。

もう1つは data/MapInfos.json を開くとidがわかる。

Map IDを名前から検索

私はよく使うのだが、マップ名からMAP IDを検索する方法を載せておく。

1
2
3
4
5
6
function getMapId(mapName){
for(var i = 0; i < $dataMapInfos.length; i++){
if($dataMapInfos[i] && $dataMapInfos[i].name == mapName) return $dataMapInfos[i].id;
}
return null;
}