RPGツクール2000/主人公・自作メニュー
■主人公の選択(8人から4人)
(更新:2013/09/21)


ゲーム開始時に8人の主人公から4人を選択する自作メニューを設定します。




自作メニューの制作に関する基礎説明は、
別のページにて紹介しています。
【自作メニューの基礎説明を見る】

動作見本用のサンプルデータ
サンプルのダウンロードは↓をクリックしてください。
サンプルのイベント設定状況を見る場合は、
ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】
このサンプルデータのイベント設定をコピー&貼り付けして、
制作中の作品に使用する場合は、
イベントの処理構造を理解した上自己責任でご利用ください。

動作確認用のサンプル内では正常に動いていたイベントが、
制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、
明らかにコピー&貼り付けの作業に問題があった事になります。



4人から1人を選ぶ設定は、以下をクリックしてください。
【主人公の選択(4人から1人)のページを見る】

ゲーム開始時ではなく、ゲームの途中でメンバーが変わる設定を行いたい場合は、
以下をクリックしてください。
【パーティー編成(マップ移動型)のページを見る】



☆準備
主人公を選択する時に使うマップを横20×縦15マスで作成してください。

作成しましたマップにパーティーの初期位置と、
主人公のグラフィックを表示する8つのマップイベントを設定してください。


マップイベントの並び順は、
主人公01 主人公02 主人公03 主人公04
主人公05 主人公06 主人公07 主人公08
としてください。
※マップイベントの設定位置は上の画像で示している位置に設定してください。
※マップイベントには「主人公01」などと分かりやすい名前を付けてください。
※マップイベントの設定はグラフィックだけを設定してください。



チップセットの画像を使って、選んだ主人公を並べる場所を用意してください。


主人公を選択した時には、
マップイベントをY3の位置へ移動する形で選択した主人公を表示します。



主人公を選択する時に使用する選択カーソルをピクチャー画像として用意してください。
▼選択用枠(横22×縦38ピクセル)


画像は素材管理の「Picture」のフォルダへインポートしてください。

※上のカーソル画像を使う場合は、
 カーソルの画像の上で右クリック→「名前を付けて保存」を選択して、
 分かりやすい所へ保存し、ツクールの素材管理からインポートしてください。




データベース「システム」の画面を開き、
初期パーティー1人目の設定を(なし)にしてください。



以上で準備完了です。



☆カーソルのピクチャー表示位置を確認
主人公を選択するカーソルの表示は、ピクチャーを使って行います。
各主人公のカーソルの表示位置は以下の通りです。


初めは「X位置=88」「Y位置=96」(主人公01の位置)として、
左キーを押す→X表示位置「減算48」
右キーを押す→X表示位置「加算48」
上下キーを押す→Y表示位置「96」または「144」

と設定します。

一番右の主人公(X位置=232)を選択している時に右キーを押した時には、
一番左の主人公(X位置=88)の所にカーソルが戻るようにします。
一番左での左キーも同様に設定します。



☆イベントの設定
変数の番号使用内容の一覧表です。

変数
番号 名前 使用内容
0001 カーソル選択キャラ 選択している主人公の番号(1〜8)を記憶します。
0002 カーソルX位置 主人公を選択するカーソルの表示位置(X)を記憶。
0003 カーソルY位置 主人公を選択するカーソルの表示位置(Y)を記憶。
0004 カーソルX座標 主人公を選択するカーソルのX座標を記憶。
0005 カーソルY座標 主人公を選択するカーソルのY座標を記憶。
0006 並べるX座標 主人公を決定した時にマップイベントを並べる時に使用。
0007 並べるY座標 主人公を決定した時にマップイベントを並べる時に使用。
0008 キー入力 どのキーが押されたのかを記憶するのに使用。
0009 イベントID カーソル位置にイベントがあるかどうかを調べる時に使用。
0010 決定人数 主人公を選択した人数をカウント。



マップ内の空いている所に、
主人公を選択するイベントを設定するマップイベントを作成してください。
■マップイベント「主人公選択処理」
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
◆変数の操作:[0001:カーソル選択キャラ]代入,1<選択キャラの初期番号
◆変数の操作:[0002:カーソルX位置]代入,88<カーソルのX初期位置
◆変数の操作:[0003:カーソルY位置]代入,96<カーソルのY初期位置
◆変数の操作:[0004:カーソルX座標]代入,5<カーソルのX座標初期位置
◆変数の操作:[0005:カーソルY座標]代入,6<カーソルのY座標初期位置
◆変数の操作:[0006:並べるX座標]代入,8<決定した主人公を並べるマスのX初期位置
◆変数の操作:[0007:並べるY座標]代入,3<決定した主人公を並べるマスのY初期位置
◆ピクチャーの表示:1,選択用枠,(V[0002],V[0003])
◆主人公の透明状態変更:透明状態にする
◆文章:主人公を4人選択してください。
◆ラベルの設定:1番<カーソルの移動後と決定キーを押してまだ主人公の選択が続く時に、ここへ戻されます
◆キー入力の処理:[0008:キー入力](上、下、左、右、決定/オプション:ON)
◆条件分岐;変数[0008:キー入力]が5<決定キーが押された時
 ◆指定位置のイベントID取得:(V[0004],V[0005]),[0009:イベントID]
 ◆条件分岐:変数[0009:イベントID]が0<選択中の場所にイベントが無い時
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆効果音の演奏:決定1
 ◆条件分岐:変数[0001:カーソル選択キャラ]が1<上段の一番左の主人公を選択中
  ◆イベントの位置を設定:主人公01,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公01を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が2<上段の左から2番目の主人公を選択中
  ◆イベントの位置を設定:主人公02,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公02を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が3<上段の左から3番目の主人公を選択中
  ◆イベントの位置を設定:主人公03,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公03を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が4<上段の左から4番目の主人公を選択中
  ◆イベントの位置を設定:主人公04,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公04を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が5<下段の一番左の主人公を選択中
  ◆イベントの位置を設定:主人公05,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公05を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が6<下段の左から2番目の主人公を選択中
  ◆イベントの位置を設定:主人公06,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公06を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が7<下段の左から3番目の主人公を選択中
  ◆イベントの位置を設定:主人公07,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公07を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が8<下段の左から4番目の主人公を選択中
  ◆イベントの位置を設定:主人公08,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公08を加える
  ◆
 :分岐終了
 ◆変数の操作:[0006:並べるX座標]加算,1<次のマスにする
 ◆変数の操作:[0010:決定人数]加算,1<決定した人数を1増やす
 ◆条件分岐:変数[0010:決定人数]が3以下<まだパーティー人数が4人ではない時
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆文章:このメンバーで宜しいですか?
 ◆選択肢の表示:決定/組み直す(キャンセルの場合:選択肢2)
 :[決定]の場合
  ◆
 :[組み直す]の場合
  ◆イベントの位置を設定:主人公01,(005,006)<マップイベントを元の位置へ戻す
  ◆イベントの位置を設定:主人公02,(008,006)
  ◆イベントの位置を設定:主人公03,(011,006)
  ◆イベントの位置を設定:主人公04,(014,006)
  ◆イベントの位置を設定:主人公05,(005,009)
  ◆イベントの位置を設定:主人公06,(008,009)
  ◆イベントの位置を設定:主人公07,(011,009)
  ◆イベントの位置を設定:主人公08,(014,009)
  ◆メンバーの入れ替え:主人公01を外す<パーティーから全ての主人公を外す
  ◆メンバーの入れ替え:主人公02を外す
  ◆メンバーの入れ替え:主人公03を外す
  ◆メンバーの入れ替え:主人公04を外す
  ◆メンバーの入れ替え:主人公05を外す
  ◆メンバーの入れ替え:主人公06を外す
  ◆メンバーの入れ替え:主人公07を外す
  ◆メンバーの入れ替え:主人公08を外す
  ◆変数の操作:[0006:並べるX座標]代入,8<決定主人公を並べるマスのX初期位置
  ◆変数の操作:[0010:決定人数]代入,0<決定した人数を初期化
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆画面の消去:〜お好きな画面の消去方法を設定〜
 ◆主人公の透明状態変更:透明状態を解除する
 ◆場所移動:〜ゲームが開始する場所〜
 ◆画面の表示:〜お好きな画面の表示方法を設定〜
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が2<左キーが押された時
 ◆条件分岐;変数[0002:カーソルX位置]が88(オプション:ON)<一番左の主人公の表示位置である時
  ◆変数の操作:[0001:カーソル選択キャラ]加算,3<一番右の主人公を選択中にする
  ◆変数の操作:[0002:カーソルX位置]代入,232<一番右の主人公のX表示位置にする
  ◆変数の操作:[0004:カーソルX座標]代入,14<一番右の主人公のX座標位置にする
  ◆
 :それ以外の場合<一番左の主人公の表示位置ではない時
  ◆変数の操作:[0001:カーソル選択キャラ]減算,1<1つ左の主人公を選択中にする
  ◆変数の操作:[0002:カーソルX位置]減算,48<1つ左の主人公のX表示位置にする
  ◆変数の操作:[0004:カーソルX座標]減算,3<1つ左の主人公のX座標位置にする
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が3<右キーが押された時
 ◆条件分岐;変数[0002:カーソルX位置]が232(オプション:ON)<一番右の主人公の表示位置である時
  ◆変数の操作:[0001:カーソル選択キャラ]減算,3<一番左の主人公を選択中にする
  ◆変数の操作:[0002:カーソルX位置]代入,88<一番左の主人公のX表示位置にする
  ◆変数の操作:[0004:カーソルX座標]代入,5<一番左の主人公のX座標位置にする
  ◆
 :それ以外の場合<一番右の主人公の表示位置ではない時
  ◆変数の操作:[0001:カーソル選択キャラ]加算,1<1つ右の主人公を選択中にする
  ◆変数の操作:[0002:カーソルX位置]加算,48<1つ右の主人公のX表示位置にする
  ◆変数の操作:[0004:カーソルX座標]加算,3<1つ右の主人公のX座標位置にする
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が1<下キーが押された時
 ◆条件分岐;変数[0003:カーソルY位置]が96(オプション:ON)<上の段の場合
  ◆変数の操作:[0001:カーソル選択キャラ]加算,4<下の段の主人公を選択中にする
  ◆変数の操作:[0003:カーソルY位置]代入,144<下の段のY表示位置にする
  ◆変数の操作:[0005:カーソルY座標]代入,9<下の段のY座標位置にする
  ◆
 :それ以外の場合<下の段の場合
  ◆変数の操作:[0001:カーソル選択キャラ]減算,4<上の段の主人公を選択中にする
  ◆変数の操作:[0003:カーソルY位置]代入,96<上の段のY表示位置にする
  ◆変数の操作:[0005:カーソルY座標]代入,6<上の段のY座標位置にする
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が4<上キーが押された時 ※分岐内は下キーと同じ設定
 ◆条件分岐;変数[0003:カーソルY位置]が96(オプション:ON)<上の段の場合
  ◆変数の操作:[0001:カーソル選択キャラ]加算,4<下の段の主人公を選択中にする
  ◆変数の操作:[0003:カーソルY位置]代入,144<下の段のY表示位置にする
  ◆変数の操作:[0005:カーソルY座標]代入,9<下の段のY座標位置にする
  ◆
 :それ以外の場合<下の段の場合
  ◆変数の操作:[0001:カーソル選択キャラ]減算,4<上の段の主人公を選択中にする
  ◆変数の操作:[0003:カーソルY位置]代入,96<上の段のY表示位置にする
  ◆変数の操作:[0005:カーソルY座標]代入,6<上の段のY座標位置にする
  ◆
 :分岐終了
 ◆
:分岐終了
◆ピクチャーの移動:1,(V[0002],V[0003]),0.0秒(W)
◆効果音の演奏:カーソル1
◆指定ラベルへ飛ぶ:1番



以上で設定完了です。



☆12人から4人を選ぶ
8人から4人を選ぶ設定を12人から4人を選ぶ設定に変更します。

マップイベントの配置は以下の通りです。


カーソルの表示位置は以下の通りです。




この色の部分を追加・変更してください。

■マップイベント「主人公選択処理」
イベント出現条件:なし
イベント開始条件:自動的に始まる
グラフィック:透明
◆変数の操作:[0001:カーソル選択キャラ]代入,1
◆変数の操作:[0002:カーソルX位置]代入,88
◆変数の操作:[0003:カーソルY位置]代入,96
◆変数の操作:[0004:カーソルX座標]代入,5
◆変数の操作:[0005:カーソルY座標]代入,6
◆変数の操作:[0006:並べるX座標]代入,8
◆変数の操作:[0007:並べるY座標]代入,3
◆ピクチャーの表示:1,waku,(V[0002],V[0003])
◆主人公の透明状態変更:透明状態にする
◆文章:主人公を4人選択してください。
◆ラベルの設定:1番
◆キー入力の処理:[0008:キー入力](上、下、左、右、決定/オプション:ON)
◆条件分岐;変数[0008:キー入力]が5
 ◆指定位置のイベントID取得:(V[0004],V[0005]),[0009:イベントID]
 ◆条件分岐:変数[0009:イベントID]が0
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆効果音の演奏:決定1
 ◆条件分岐:変数[0001:カーソル選択キャラ]が1
  ◆イベントの位置を設定:主人公01,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公01を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が2
  ◆イベントの位置を設定:主人公02,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公02を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が3
  ◆イベントの位置を設定:主人公03,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公03を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が4
  ◆イベントの位置を設定:主人公04,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公04を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が5
  ◆イベントの位置を設定:主人公05,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公05を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が6
  ◆イベントの位置を設定:主人公06,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公06を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が7
  ◆イベントの位置を設定:主人公07,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公07を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が8
  ◆イベントの位置を設定:主人公08,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公08を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が9
  ◆イベントの位置を設定:主人公09,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公09を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が10
  ◆イベントの位置を設定:主人公10,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公10を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が11
  ◆イベントの位置を設定:主人公11,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公11を加える
  ◆
 :分岐終了
 ◆条件分岐:変数[0001:カーソル選択キャラ]が12
  ◆イベントの位置を設定:主人公12,(V[0006],V[0007])
  ◆メンバーの入れ替え:主人公12を加える
  ◆
 :分岐終了

 ◆変数の操作:[0006:並べるX座標]加算,1
 ◆変数の操作:[0010:決定人数]加算,1
 ◆条件分岐:変数[0010:決定人数]が3以下
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆文章:このメンバーで宜しいですか?
 ◆選択肢の表示:決定/組み直す(キャンセルの場合:選択肢2)
 :[決定]の場合
  ◆
 :[組み直す]の場合
  ◆イベントの位置を設定:主人公01,(005,006)
  ◆イベントの位置を設定:主人公02,(008,006)
  ◆イベントの位置を設定:主人公03,(011,006)
  ◆イベントの位置を設定:主人公04,(014,006)
  ◆イベントの位置を設定:主人公05,(005,009)
  ◆イベントの位置を設定:主人公06,(008,009)
  ◆イベントの位置を設定:主人公07,(011,009)
  ◆イベントの位置を設定:主人公08,(014,009)
  ◆イベントの位置を設定:主人公09,(005,012)
  ◆イベントの位置を設定:主人公10,(008,012)
  ◆イベントの位置を設定:主人公11,(011,012)
  ◆イベントの位置を設定:主人公12,(014,012)
  ◆メンバーの入れ替え:主人公01を外す
  ◆メンバーの入れ替え:主人公02を外す
  ◆メンバーの入れ替え:主人公03を外す
  ◆メンバーの入れ替え:主人公04を外す
  ◆メンバーの入れ替え:主人公05を外す
  ◆メンバーの入れ替え:主人公06を外す
  ◆メンバーの入れ替え:主人公07を外す
  ◆メンバーの入れ替え:主人公08を外す
  ◆メンバーの入れ替え:主人公09を外す
  ◆メンバーの入れ替え:主人公10を外す
  ◆メンバーの入れ替え:主人公11を外す
  ◆メンバーの入れ替え:主人公12を外す
  ◆変数の操作:[0006:並べるX座標]代入,8
  ◆変数の操作:[0010:決定人数]代入,0
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆画面の消去:〜お好きな画面の消去方法を設定〜
 ◆主人公の透明状態変更:透明状態を解除する
 ◆場所移動:〜ゲームが開始する場所〜
 ◆画面の表示:〜お好きな画面の表示方法を設定〜
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が2
 ◆条件分岐;変数[0002:カーソルX位置]が88(オプション:ON)
  ◆変数の操作:[0001:カーソル選択キャラ]加算,3
  ◆変数の操作:[0002:カーソルX位置]代入,232
  ◆変数の操作:[0004:カーソルX座標]代入,14
  ◆
 :それ以外の場合
  ◆変数の操作:[0001:カーソル選択キャラ]減算,1
  ◆変数の操作:[0002:カーソルX位置]減算,48
  ◆変数の操作:[0004:カーソルX座標]減算,3
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が3
 ◆条件分岐;変数[0002:カーソルX位置]が232(オプション:ON)
  ◆変数の操作:[0001:カーソル選択キャラ]減算,3
  ◆変数の操作:[0002:カーソルX位置]代入,88
  ◆変数の操作:[0004:カーソルX座標]代入,5
  ◆
 :それ以外の場合
  ◆変数の操作:[0001:カーソル選択キャラ]加算,1
  ◆変数の操作:[0002:カーソルX位置]加算,48
  ◆変数の操作:[0004:カーソルX座標]加算,3
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が1
 ◆条件分岐;変数[0003:カーソルY位置]が96(オプション:ON)
  ◆変数の操作:[0001:カーソル選択キャラ]加算,8
  ◆変数の操作:[0003:カーソルY位置]代入,192
  ◆変数の操作:[0005:カーソルY座標]代入,12
  ◆
 :それ以外の場合
  ◆変数の操作:[0001:カーソル選択キャラ]加算,4
  ◆変数の操作:[0003:カーソルY位置]加算,48
  ◆変数の操作:[0005:カーソルY座標]加算,3
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐;変数[0008:キー入力]が4
 ◆条件分岐;変数[0003:カーソルY位置]が192(オプション:ON)
  ◆変数の操作:[0001:カーソル選択キャラ]減算,8
  ◆変数の操作:[0003:カーソルY位置]代入,96
  ◆変数の操作:[0005:カーソルY座標]代入,6
  ◆
 :それ以外の場合
  ◆変数の操作:[0001:カーソル選択キャラ]減算,4
  ◆変数の操作:[0003:カーソルY位置]減算,48
  ◆変数の操作:[0005:カーソルY座標]減算,3
  ◆
 :分岐終了
 ◆
:分岐終了
◆ピクチャーの移動:1,(V[0002],V[0003]),0.0秒(W)
◆効果音の演奏:カーソル1
◆指定ラベルへ飛ぶ:1番



以上で設定完了です。



◎関連ページ
 ●自作メニューの基礎
 ●主人公の選択(4人から1人)
 ●パーティー編成(マップ移動型)
 ●イベントコマンド:ピクチャーの表示
 ●イベントコマンド:ピクチャーの移動
 ●イベントコマンド:キー入力の処理


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