RPGツクールMV

RPGツクールMVの標準機能で作るステージセレクト画面

RPGツクールMVでステージセレクト画面を作りたくて、いろいろ試した結果こんな感じの画面ができました。
RPGツクールMV セレクト画面サンプル

左右の矢印ボタンでステージ選択、スタートボタンで開始です。

選択中のステージごとに、ステージ画像が上部に表示されます。

作り方を解説してみます。

データベースの準備

変数・スイッチ

使う変数とスイッチの名前をつけておきます。

使う変数は5つ、スイッチは2つと意外とシンプル。

RPGツクールMVでステージセレクト画面を作る1 変数の準備

RPGツクールMVでステージセレクト画面を作る2 スイッチの準備

コモンイベント

先にステージ選択画面から呼び出すコモンイベントを作っておきます。

ゲームセットアップ

変数などの初期化用コモンイベント。
RPGツクールMVでステージセレクト画面を作る3 ゲームセットア

変数:constステージ画像X座標変数:constステージ画像Y座標に初期値を入れておきます。
あとの内容はお好みで。

最後にスイッチ:ゲームセットアップ済みをオンにします。

イベント準備ここから

イベントの設定をするときに、プレイヤーに見せないように画面をまっくらにするイベントです。

コモンイベントにしておくと便利。
RPGツクールMVでステージセレクト画面を作る4 イベント準備開始

イベント準備ここまで

画面の色調を元に戻すコモンイベント。
RPGツクールMVでステージセレクト画面を作る5 イベント準備終了

ピクチャの全消去

スクリプトを使っていっきに消します。
RPGツクールMVでステージセレクト画面を作る6 ピクチャの全消去

var PICTURE_MAX = 100;
for(var i = 0; i <= PICTURE_MAX; i++){
    $gameScreen.erasePicture(i);
}

ステージ決定後の処理

スタートボタンを押した時の共通処理。

ステージ画像のピクチャを消したり、移動スピードを元に戻したり。
RPGツクールMVでステージセレクト画面を作る7 ステージ決定後処理

ステージ選択用マップを作る

ボタンを置く位置に通行可能タイルを並べます。

サンプルでは内装の「じゅうたんC」をShiftキーを押しながら並べてみました。
RPGツクールMVでステージセレクト画面を作る8 ステージ選択用マップを作る

置いたタイルの上にイベントを作り、歩行グラフィックでボタンを表示させます。

イベントの内容はあとで作るので、ひとまず空欄にしておきます。
RPGツクールMVでステージセレクト画面を作る9 ボタンイベントを配置

使った歩行グラフィックはこんな感じ。

スタートボタンは1マス幅だと文字がいれにくいので、2マス分使っています。

RPGツクールMVでステージセレクト画面を作る ボタン歩行グラフィック

初期化イベントを置く(自動実行)

ステージ選択画面に入った時の初期化用のイベントを作成します。

イベントの配置場所はどこでもOK。

初回の場合はオープニング用のマップへ飛ばし、2回目以降はステージセレクト画面の準備します。

トリガーは「自動実行」。
RPGツクールMVでステージセレクト画面を作る10 ステージ選択マップ初期化(自動実行)

初回かどうかは スイッチ:ゲームセットアップ済み で管理します。

ゲームセットアップ済みはコモンイベント:ゲームセットアップ内でONにするようにしたので、初回に呼び出せばOKです。

2回目以降の場合は、次のステージID(クリアステージID+1)と選択中のステージIDを設定し、スタートボタンの上にプレイヤーを移動させます。

選択中のステージにあわせてステージ画像を表示する(並列処理)

トリガー「並列処理」のイベントを作って、選択中のステージIDにあわせてステージ画像を表示するようにします。

イベントの配置場所はどこでもいいです。

初回起動時はオープニングマップに飛ばすので、ピクチャが表示されないように出現条件をスイッチ:ゲームセットアップ済みにしておきます。
RPGツクールMVでステージセレクト画面を作る11 ステージ画像を表示(並列処理)

画像が作るのが面倒だったので、titles1フォルダから「Plain」「Island」「Volcano」、titles2フォルダから「Floral」をpictureフォルダにコピーしました。

ピクチャ番号1に選択中のステージ画像を表示し、ピクチャ番号2に枠を表示します。

原点は「左上」、X座標は変数:constステージ画像X座標、Y座標は変数:constステージ画像Y座標です。

画像が大きいので拡大率は60%にしています。

画像のX座標とY座標は変数で指定しておくと、あとで表示位置を変えたくなったときに変数の値を変えるだけですべてのピクチャの座標が変わるので管理が楽になります。

ページ送りボタンを作る

ステージ選択マップを作るときに置いたボタンイベントの内容を作っていきます。

プライオリティは「通常キャラの下」、トリガーは「プレイヤーから接触」です。

ページ送り(戻る)

選択中のステージIDを-1します。

選択中のステージIDが0以下の場合、変数:次のステージIDを代入してループさせます。

また、キャラクターがイベントの上にのったままだと再度ボタンをクリックした時にイベントが発生しないので、位置を初期位置に元に戻しておきます。
RPGツクールMVでステージセレクト画面を作る12 戻るボタン

ページ送り(進む)

戻るの逆バージョン。

選択中のステージIDを+1します。

選択中のステージIDが次のステージIDを越えた場合は1を代入して最初のステージに戻します。
RPGツクールMVでステージセレクト画面を作る13 進むボタン

スタートボタンを作る

ステージごとにイベントページを作ります。

イベントページ1にステージ1を選択した時の処理、イベントページ2にステージ2を選択した時の処理……みたいな感じ。

RPGツクールMVはイベントページが20までしか作れません。

ステージ数が20を越える場合はイベントコマンドの条件分岐を使って1つのイベントページで複数ステージを管理するといいでしょう。

イベントの設定は全ページ、プライオリティが「通常キャラの下」、トリガーが「決定ボタン」です。

出現条件の変数に「選択中のステージID」を選び、イベントページの番号にします。
(イベントページ1なら条件が1以上、イベントページ2なら2以上……)
RPGツクールMVでステージセレクト画面を作る14 決定ボタン1

コモンイベントで共通処理をしたあとに各ステージの初期位置まで場所移動します。

左半分のイベントが設定し終わったらイベントをコピーし、画像を右半分に変えます。
イベント内容は同じです。
RPGツクールMVでステージセレクト画面を作る15 決定ボタン2

遠景を設定する

タイルを置いていない部分は真っ黒になるので、お好みで遠景を設定します。

おわりに

以上、RPGツクールMVでかんたんなステージセレクト画面を作る方法でした。

必要最低限のことだけ解説しましたが、ペイントソフトを使ってボタンやタイルの画像を作りこんだり、トリアコンタン様の動的文字列ピクチャ生成プラグインを使って、ステージ名やスコアなどを表示させてもいいと思います。