なんか作って載せます

簡単に作れそうで、意外と手間がかかります。

パーティメンバー並び替え【コモン】



 パーティメンバーの並び替えコモンを作りました。

 イベントから呼び出して使うコモンです。
 非戦闘時のみ使用可能。
 並び替えられるメンバー数は、最大6人までです。


 起動すると、以下のように表示されます。
起動画面

 検証用パーティメンバーは、以下の4人とします。
歩行グラフィック・並び替え前

 この順番で並べ替えると、
並び替え

 このように、歩行グラフィックもメニュー表示時の並びも、ちゃんと並び替えられます。
歩行グラフィック・並び替え後
メニュー画面・並び

 以下に、どのように作ったのかの簡単な説明を載せます。
 コモン全文は載せません。あくまで、簡易的なものです。


 まず、本格的な処理が始まる前に、パーティメンバーが1人しかいない場合は起動しないようにしておきます。
処理内容1

 パーティの2人目がいない場合、1人目しかいないということになります。

 そして、ここからループの中での処理になるわけですが、そのループに入る前に、「カーソル位置変数」と「並び替えカウント変数」を用意し初期化しておきます。
 前者は、カーソルのY位置の計算に使います。
 後者は、メンバー数に対して何回選択したかを数えるために使います。また、カーソル位置変数の上限としても利用します。

 ループに入ったら、まずは左右2つの「ウィンドウ」と「カーソル」のピクチャ表示をして、次に左ウィンドウ内にパーティメンバー名を並べます。
 メンバー数は最大6人を想定しているので、回数付きループを6回に設定し、可変DB「パーティ情報」を参照して、メンバーが存在すれば、可変DB「主人公ステータス」から名前を取得し、表示します。
 途中でメンバーが入ってない項目を見つけたら、そこでループを出るようにしておきます。

 あらかじめ、右ウィンドウに表示されるメンバー名の処理も、作っておきます。
 並び替えを実行する前に、メンバーIDの並びを格納しておく場所が必要になるので、新たに可変DBに「並び替え用DB」を作りました。
 メンバーを選択してメンバーIDを取得したら、この可変DBに順に格納されるようにしておき、そこから名前を取得して表示させます。

 次はキー入力。カーソルの移動は上下のみです。上下キーを押すごとに、カーソル位置変数が変動します。それにより、カーソルのY位置も変動するというわけです。

 キャンセルキーで、表示を消して処理を終わります。
 ただし、並び替えカウントが1以上の場合、1人以上選択していることになるので、1つ前の処理に戻るようにしてあります。(例:2人目を選んでいた場合、キャンセルで2人目の選択に戻す)
処理内容2

 決定キーで、メンバーを並び替えしたい順に選んでいきます。選んだメンバーのメンバーIDが、可変DB「並び替え用DB」に格納されていきます。
 メンバーの人数分選択したら、もう一度決定キーを押すことで並び替えが実行されます。その時、コモン80「パーティ画像再設定」を使って、歩行グラフィックなどを更新しています。
 処理が終われば、ピクチャを消して終了です。
処理内容3

 あと、すでに選択しているメンバーは二度選べないように制御してあります。
 回数付きループで、選択ごとにIDをチェックするように作ってあります。

 ちなみに、このコモンイベントの行数は199行です。(コメント含む)


 少し手を加えれば、おそらくメニューから起動できるようにもなるはずです。
 それと、パーティにいないサブメンバーと交換したりなんかもできるかなと。
 ほかにも、いろいろ便利な機能なんかも付けられそうです。


 今回はこれで終わります。


2012/04/22/Sun 更新
2013/09/07/Sat ページ内容修正

inserted by FC2 system