投稿記事

2023年 02月の記事 (5)

power spot. 2023/02/27 23:32

カスタムメニュープラグイン講座(第5回)「Windowパラメータ(3):各イベント」

RPGツクールMZ向けのトリアコンタン氏のプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方講座です。

リンク:
カスタムメニュー作成プラグインを調べてみた(とんびさん)

今回はWindowの設定パラメータの概要を解説します。
多くのパラメータが存在するので、複数回に分けて解説する予定です。

前回はデータスクリプトを紹介しました。今回は「決定、キャンセル、カーソルイベント」について解説します。

【1】イベントって何?
カスタムメニュープラグインのイベントというのは、第1回の講座でも出てきた言葉「処理」です。
ツクールのイベントでも、何かしらの処理を記述しますが、それと同じです。
しかもカスタムメニュープラグインのイベント(処理)は、「スクリプト」でも「コモンイベント」でも可能という素晴らしいプラグインとなっております。

【2】イベントの種類
カスタムメニュープラグインのイベント用パラメータは以下の4つがあります。
決定イベント…決定ボタンが押された時の処理。
キャンセルイベント…キャンセルボタンが押された時の処理。
カーソルイベント…カーソルが移動した時の処理。
ボタンイベント…任意のボタンが押された時の処理。

上記のボタンイベント以外の3つは、処理を呼び出すタイミングが異なるだけで基本的には同じパラメータ設定となります。

決定イベントのパラメータは以下の通りです。(キャンセル、カーソルも同じパラメータです)

(1)コモンイベント(CommandId)【重要!】
実行される処理にコモンイベントを設定したいときにコモンイベントIDを入力します。


(2)ウィンドウ識別子(FucusWindowId)【重要!】
別のウィンドウにフォーカスしたいときにはここにウィンドウ識別子を入力します。


(3)カーソルインデックス(FocusWindowIntex)
別のウィンドウにフォーカスするときのインデックスを指定します。


(4)スクリプト(Script)【重要!】


実行される処理のスクリプトを記述します。
プルダウンメニューで選べますが、テキストタブから直接記述することが出来ます。

(5)スイッチ(SwitchId)【重要!】
実行される処理でスイッチをONにします。


(6)元ウィンドウ選択解除(Deselect)
実行される処理で元ウィンドウの選択を解除します。


【3】イベントを入れてみる
実際にイベントを起こしてみましょう。決定イベントを設定してみます。

まずはコモンイベントに次のような簡素な処理を設定します。


次にウィンドウの決定イベントパラメータに、上で作成したコモンイベントIDを設定します。


これで実際にメニュー画面の決定ボタンを押すと、下の画像のように文章が表示されます。



イベント系の処理はさまざまな処理を設定出来るので、オリジナルメニューを作成するには妥協出来ない項目です。
簡単な設定のみを紹介しましたが、次回では今までの講座を鑑みながら、実際にオリジナルのメニューを作成してみたいと思います。

power spot. 2023/02/23 00:06

カスタムメニュープラグイン講座(第4回)「Windowパラメータ(2):データスクリプト」

RPGツクールMZ向けのトリアコンタン氏のプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方講座です。

リンク:
カスタムメニュー作成プラグインを調べてみた(とんびさん)

今回はWindowの設定パラメータの概要を解説します。
多くのパラメータが存在するので、複数回に分けて解説する予定です。

前回はパラメータ全体を紹介しました。今回は「データスクリプト」について解説します。


【1】データスクリプトとは
データスクリプトとは、一言で言うなら「ウィンドウに表示する内容の元データ」です。
例を出すと、アイテムメニューで表示されるリストは所持しているアイテムリスト、スキルで表示されるのはアクターが習得済みのスキルリスト、などです。

これらはすべて「スクリプト」で取得します。
RPGツクールMZは、内部の処理はjavaScriptという言語(プログラム)で記述されています。
データスクリプトは、データ「スクリプト」というぐらいなので、スクリプト(javaScript)を使用してパラメータを設定していきます。

プログラムが苦手な方でも、スクリプトの記述が多くなる予定なので、この回から徐々にスクリプトに慣れていきましょう。英語が苦手という方も慣れるようにがんばりましょう。


【2】データスクリプトのパラメータ



(1)一覧ウィンドウ識別子(ListWindowId)
生成するウィンドウのデータ内容が別のウィンドウで選択されている項目にしたい場合、こちらにウィンドウ識別子を入力します。


(2)一覧取得スクリプト(ListScript)【重要!】

ウィンドウの内容に設定するデータを設定します。
デフォルトでは画像のようなプルダウンメニューで色々なデータを取得出来るようになっています。

(3)フィルタスクリプト(FilterScript)

一覧取得スクリプトで取得したデータにフィルタをかけます。フィルタをかけるとは、特定の条件に合致したもののみを取得し直す、ということです。


(4)マッピングスクリプト(MappingScript)

一覧取得スクリプトで取得したデータを別のデータに変換します。


(5)項目描写スクリプト(ItemDrawScript)【重要!】

一覧取得スクリプトで取得したデータの内容で、どの内容(パラメータ)を表示させるのかを記述します。
一覧取得スクリプトで取得したのがパーティーメンバー(アクター)だった場合、アクターの名前や顔グラフィック、レベル、ステータスなどを描画させるように設定したり出来ます。


(6)選択可能スクリプト(IsEnableScript)

カーソル系ウィンドウの場合、項目を選択可能の可否を設定します。




【3】itemとは?

さて、【2】で紹介した内容では所々で「item.〜」という表記が出てきます。itemはカスタムメニュープラグイン内では、「取得したデータの1つの項目」と捉えるのが分かりやすいと思います。
例えば一覧取得スクリプトでパーティーメンバー($gameParty.members();)を選択した場合、項目描写でのitemは「アクター」となります。アクターが1人ならば1つだけ、4人いれば4つの項目、10人いれば10項目というように、最大値はプラグインが自動で処理してくれます。
あくまで1つ1つ同じ内容を表示するとき、項目描写スクリプトでそれらを1つずつ描写すればよいのです。


【4】項目描写スクリプトの機能

アクターの名前・レベル・職業・顔グラフィックを表示させたいとします。
項目描写スクリプト内で以下の画像のようにしてみるとどうなるでしょう。

実際にゲーム画面では左上のウィンドウのようになります。


名前、レベル、職業、顔グラフィックが重なってしまっていますね。
これは表示している座標を修正していないからです。
座標を修正するのは、パラメータ「r.x」と「r.y」の部分で数値を修正します。
この「r」というのは、項目ごとの座標を予め計算してくれていますので、よっぽどのことが無い限りは消さないほうが良いです。ではどうすればいいでしょう。

r.x :x座標なので、 r.x + 100 や r.x - 50 など、そこで計算するように数式を入力すれば座標を修正できます。

実際に修正してみたのが以下のパラメータです。


実際のゲーム画面がこちらです。



データスクリプトはウィンドウを形成する上でも最重要レベルで大事なパラメータです。
大まかな流れとしては、「ウィンドウを作成する→データスクリプトを設定してデータを取得する→項目描写スクリプトで描写の設定」という感じになります。
今回紹介したデータスクリプトは、プルダウンメニューから選択出来ますが自分でスクリプトを記述してより細かい設定をすることが可能です。それはまた別の機会に解説したいとおもいます。

次回は決定イベント、キャンセルイベント、カーソルイベントについて解説したいと思います。

power spot. 2023/02/19 22:03

カスタムメニュープラグイン講座(第3回)「Windowパラメータ(1)」

RPGツクールMZ向けのトリアコンタン氏のプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方講座です。

リンク:
カスタムメニュー作成プラグインを調べてみた(とんびさん)

今回はWindowの設定パラメータの概要を解説します。
多くのパラメータが存在するので、複数回に分けて解説する予定です。
まずは以下の画像を御覧ください。

雑な画像ですが1つの画像に表示させてみました。
Windowパラメータには多くの設定項目があります。
重要な項目には【重要!】を明記してあります。

※・パラメータ名(parameter) このような記述をしますが、「パラメータ名」は設定項目名、「parameter」はプラグイン内部のパラメータ名です。

(1)識別子【重要!】
・ウィンドウ識別子(id)
ウィンドウのIDです。要はウィンドウの名前です。
呼び出したりするときに使用します。



(2)表示系パラメータ
・X座標(x)
・相対X座標ウィンドウ(RelativeWindowIdX)
・Y座標(y)
・相対Y座標ウィンドウ(RelativeWindowIdY)
・横幅(width)
・高さ(height)

ウィンドウの表示に関する項目です。実際に数値を入力してどのように変わるかを確認しながら変更するのが良いと思います。



(3)項目数と角度
・列数(ColumnNumber)
・行数(RowNumber)
・回転角度(Rotation)
・項目の高さ(ItemHeight)

ウィンドウに描写される項目の列数は縦割りに何列表示にするか、行数は横割りに何行表示にするか、ということです。
例として、列数:3、行数:8、項目の高さ:64に設定した場合は以下のようになります。(データベースのアイテムを表示させています)

回転角度はウィンドウ自体を回転させるときに設定します。0〜360(度)で入力します。
回転の原点は左上になります。以下は設定数値は330(-30)度にした場合です。



(4)コマンドリスト
表示させるカーソル系ウィンドウの内容があらかじめ決まっている場合に設定します。
装備変更画面であれば「装備・はずす・最強装備」や、アイテム画面の「アイテム・武器・防具・大事なもの」などです。

例としてさまざまな選択肢を明記してみました。



(5)データスクリプト【重要!】
ウィンドウに表示させるデータに関する項目です。
こちらの内容は別の回で解説したいと思います。



(6)ヘルプテキスト
・共通ヘルプテキスト(CommonHelpText)

ウィンドウがアクティブ(有効)になっているときにヘルプウィンドウに表示される文章です。
記述していませんでしたが、ウィンドウ上のカーソルが操作可能(有効)になっている場合を「アクティブ」と表現します。
逆にアクティブではない状態は「非アクティブ」、「ディアクティブ」などと言います。



(7)イベント系【重要!】
決定イベント、キャンセルイベント、カーソルイベント、ボタンイベントがあります。
こちらもデータスクリプト同様に別の回で解説したいと思います。



(8)フォント系
・フォントサイズ(FontSize)
・フォント(FontFace)

ウィンドウに表示される文章のフォントを変更します。



(9)ウィンドウ表示系
・他ウィンドウに重ねる(OverlapOther)

ウィンドウ同士が重なってしまった場合の表示方法を指定します。

・ウィンドウスキン(WindowSkin)

デフォルトのウィンドウスキンから変更したい場合はファイルを指定します。

・表示スイッチID(VisibleSwitchId)【重要!】

ゲーム用スイッチ番号を入力すると、そのスイッチがONの時のみウィンドウが表示されるようになります。

・開閉アニメ表示(ShowOpenAnimation)

ウィンドウの開閉アニメーションをするかしないかを設定します。

・再描画スイッチ(RefreshSwitchId)【重要!】

ウィンドウ内の内容を再描写する時、こちらで指定したスイッチIDをONにすることでウィンドウ内容を再描写します。



(10)変数系
・インデックス格納変数(IndexVariableId)【重要!】

カーソル系ウィンドウでは、項目に必ずインデックスが指定されています。1番目の項目のindexは0です。1ではないので注意が必要です。

カーソル系ウィンドウのindexをゲーム用変数に格納します。これは決定イベントやカーソルイベント、キャンセルイベントを実行時にコモンイベントを呼び出して処理を分岐させるときに使用します。別の回で解説予定です。

・インデックスを記憶(RememberIndex)

インデックスを記憶して、ウィンドウが再びアクティブになった時に記憶していた場所にカーソルが表示されます。

・選択項目格納変数(ItemVariableId)
選択中の項目の内容そのものをゲーム用変数に代入します。



(11)シーン系
・キャンセル可能(Cancelable)

ウィンドウがアクティブになった場合、キャンセルを出来るか出来ないかを設定します。

・シーン戻しキャンセル(PopCancel)

設定するウィンドウが最初のアクティブウィンドウの場合、キャンセル時に元のシーンに推移するかしないかを設定します。

・アクター変更可能(ActorChangeable)

アクターを切り替えるメニュー(ツクール内ではスキルや装備などのメニュー)の場合、アクターの変更を可能にします(ウィンドウがアクティブの場合)。

・非フォーカス時は隠す(HiddenNoFocus)

ウィンドウがフォーカス(アクティブ)になってない場合は閉じるようにするかを設定します。画像の3:confirmが「隠す」に設定されています。



(12)その他
・マスキングテキスト(MaskingText)

項目の内容を変更するときに使用します。

・決定SE(okSound)

決定SEをデフォルトの決定SEとは違うものに設定したいときにファイルを指定します。

・カーソルを手前に表示(cusorOverContents)

カーソルが項目の後ろに表示されているものを手前に表示するようにします。

・項目背景を表示しない(noItemBackground)

カーソル選択可能の黒い領域の表示・非表示を切り替えます。

・テキストカラー(textColor)

描写するテキストの色を変更します。文章の制御文字で指定する番号を入力します。


Windowだけでも多くのパラメータが存在しますね。設定が大変ですが、逆に言えばそれだけ多くの事を設定出来る=オリジナリティを表現出来るということです。

特に大事だと思うのはデータスクリプト、決定・キャンセル・カーソルイベント、インデックス変数、表示・再描画スイッチIDあたりでしょうか。

次回はデータスクリプトについて解説したいと思います。

power spot. 2023/02/16 23:43

カスタムメニュープラグイン講座(第2回)「Windowについて」

RPGツクールMZ向けのトリアコンタン氏のプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方講座です。

今回はWindow回りの設定を解説します。

【1】メニュー画面におけるWindow
ツクールのメニュー画面には必ずWindowが存在し、Windowには内容が存在します。
内容には大きく分けて2つあります。

1:カーソル系
2:表示系

1のカーソル系は、プレイヤーが操作をして何かしらの「処理」をするWindowです。
2の表示系は、プレイヤーは内容を「確認」するWindowです。

この「処理」と「確認」の話は、講座の第1回でも記述しました。

ツクールのメニューでは、処理と確認の両方の内容はすべてWindow内で描写されます。
例外としてコモンイベント→ピクチャを表示などがありますが、ここでは割愛します。

オリジナルのメニューを作成するためには、まずは「カーソル系(処理)」と「表示(確認)」のWindowをどういうレイアウトで配置するかを考える必要があります。

テンプレート:シーン1の内容を見ていきます。

色々なパラメータ(設定項目)がありますが、すべてを一度に理解しようとせずに1つずつ確実に確認していくのがいいでしょう。
上から6番目「ウィンドウの一覧」があります。このパラメータが、カスタムメニュー内に表示されるウィンドウに関する設定項目です。おそらく最も開く頻度が高い項目と思われます。

開いてみると、3つの設定項目があります。1つ1つが個別のウィンドウのパラメータとなります。

実際にゲーム内でメニューを呼び出すとたしかに3つのウィンドウが存在します。
が、ここで注意しなければならない事は、下のウィンドウは「ヘルプウィンドウ」ということです。ヘルプウィンドウは先程のウィンドウ一覧には存在しません。表示・非表示を切り替える項目があるのでそちらで設定をします。
では、もうひとつのウィンドウはどこにあるのでしょうか?
任意のアクターを選択します。

ヘルプウィンドウに「本当によろしいですか?」と表示され、「はい/いいえ」の選択肢が表示されました。
つまり、先程のウィンドウリストは以下の画像の通りとなります。

ウィンドウ一覧の1つを覗いてみます。

多くのパラメータがあります。これらを1つ1つ設定することでウィンドウを形成していきます。

第2回のまとめです。

任意のシーンからウィンドウまでのパラメータ階層を画像にしてみました。
これをイメージして次回はウィンドウパラメータの詳細を解説したいと思います。

power spot. 2023/02/14 23:12

カスタムメニュープラグイン講座(第1回)「オリジナルメニュー作成について」

RPGツクールMZ向けのトリアコンタン氏のプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方講座です。

【0】はじめに

・RPGツクールMZにてオリジナルメニューを作成するプラグイン「カスタムメニュープラグイン(SceneCustomMenu.js)」の使い方、解説をします。
プラグインの制作者はトリアコンタン氏です。私はそれを利用させて頂いております。
使ってて気づいたこと、出来ることなどを解説したいと思います。

・この講座は以下の条件の方に有益な情報となるように記述したいと思います。
 1:RPGツクールMZを使っている
 2:オリジナルのメニューを作りたい
 3:javaScriptはちょっと苦手

・この講座は、以下の項目に当てはまる人向けに記述したいと思います。
 1:RPGツクールのイベントの処理を使いこなせる
  (条件分岐、スイッチや変数の操作、コモンイベントなど)
 2:プラグインのインストールやパラメータ入力のやり方がわかる

・筆者はRPGツクールMZを使用しているので、MZで解説します。

【1】オリジナルメニューについて考える

RPGだけではなく、ゲームやアプリケーションには「メニュー」という概念がついてきます。RPGツクールにおけるメニューは、大まかに以下の2通りに考えたいと思います。

 1:何かの「処理」をする場面
 2:何かの「確認」をする場面

1:処理について…
ツクール内で例えるならば、「装備の変更」、「アイテムの使用」、「スキルの使用」などが当てはまります。装備の変更では、アクターの装備を変更する「処理」、アイテムでは、何かのアイテムを使用をする「処理」。

2:確認について…
ツクール内で例えるならば、「ステータス」が当てはまります。


つまり、オジリナルのメニューを考える上で「処理」と「確認」が必要になることを念頭に置きましょう。


【2】プラグインの導入

必要となるプラグインは2つです。
・PluginCommonBase.js
・SceneCustomMenu.js

まずはカスタムメニュープラグインをダウンロードしましょう。
トリアコンタン氏のGitHubからダウンロード可能です。

<プラグインのダウンロード>

カスタムメニュープラグインは、RPGツクール準標準プラグイン「PluginCommonBase.js」が必要となります。こちらのプラグインはツクールMZがインストールされているフォルダのダウンロードコンテンツ(dlc)内にあります。


【3】メニューの呼び出し

プラグインを導入したら、実際にパラメータを開いてみましょう。

このプラグインでは、オリジナルのメニューを20個作成することが出来ます。
また、あらかじめ3個のオリジナルメニューのテンプレートがあります。
リストの一番上、シーン1を開いてみます。

パラメータ一番上に「シーン識別子」という項目があります。これが呼び出しなどで使うこのメニューの名前です。

とりあえず実際にゲーム内でこのメニューを呼び出すため、イベントコマンド「スクリプト」内に以下のような記述をします。

記述をしたら、実際にゲームを起動してメニューを呼び出してみます。


これでオリジナルメニューを呼び出すことに成功しました。
次回はメニューのウィンドウについて解説していきたいと思います。

フォロワー以上限定無料

特典説明文

無料

月別アーカイブ

限定特典から探す

記事を検索