ページ 11

【解決済】カスタムメニュー作成プラグインについて

Posted: 2021年9月07日(火) 17:56
by stn98
トリアコンタンさんのSceneCustomMenu.jsを利用させていただいて、キャラクター作成(自分のキャラクターを選べるようにする)画面をつくりたいとおもっています。

イメージとしてはデータベースに登録されているキャラクターの一覧(名前とグラフィック)のメニューをだして、ユーザーに選んでもらうようにしたいです。

プラグインの設定で、ウインドウ一覧に新しいウインドウを作成したのですが、エラーとなってしまいます。
作成した手順はディフォルトから変えたのは下の通りです
・ウインドウ識別子:sentaku_window
・横幅:300
・一覧取得スクリプト:

コード: 全て選択

$dataActors.filter(data => !!data); // データベースのアクター
・項目描画スクリプト:

コード: 全て選択

this.drawCharacter(item.characterName(), item.characterIndex(), r.x, r.y); // キャラクター
上記で実行すると

コード: 全て選択

Script Error:this.drawCharacter(item.characterName(), item.characterIndex(), r.x, r.y); // キャラクター
outputError @ SceneCustomMenu.js:855
SceneCustomMenu.js:857 TypeError: item.characterName is not a function
というJavaScriptのエラーが表示されてしまいます。

一覧取得スクリプトをパーティーメンバー

コード: 全て選択

$gameParty.members(); // パーティメンバー
にすると動くのですが、パーティーに入っているメンバーしか表示されません。

データベースのアクター一覧のユーザー名と、画像を表示させたい場合、どのような設定が必要でしょうか?

Re: カスタムメニュー作成プラグインについて

Posted: 2021年9月08日(水) 16:04
by リクドウ
こんにちは

データベースのアクター情報を参照して
キャラクターグラフィック(歩行グラフィック)を表示させたい場合は、
項目描画スクリプトに以下のスクリプトを入力して試してみてください。
プリセットにはないので、コピペして入力してください。

コード: 全て選択

this.drawCharacter(item.characterName, item.characterIndex, r.x + 24, r.y + 48);
アクターの名前を併記したい場合は、プリセットにある下記のスクリプトで表示できます。

コード: 全て選択

this.drawItemName(item, r.x, r.y, r.width); // アイテムやスキルの名称
アクターの名前を右揃えや中央揃えにしたい場合は、プリセットにある下記のスクリプトでも表示可能です。
'right' の部分を 'left' に書き換えれば左揃え、'center' に書き換えれば中央揃えになります。

コード: 全て選択

this.drawText(`Text:${item.name}`, r.x, r.y, r.width, 'right'); // 任意のテキスト描画(制御文字変換なし。右揃え)
※名前表示の場合は不要になると思うので、上記スクリプトの"Text:"の部分は削除して使ってください。
 こちらをコピペして使っていただいても問題ありません。

コード: 全て選択

this.drawText(`${item.name}`, r.x, r.y, r.width, 'right');
ついでに、顔画像も表示したい場合は下記スクリプトで可能です。

コード: 全て選択

this.drawFace(item.faceName, item.faceIndex, r.x, r.y);

Re: カスタムメニュー作成プラグインについて

Posted: 2021年9月09日(木) 10:56
by stn98
こんにちは、リクドウさん

詳細な説明ありがとうございます! 無事、思っていたものを作成することができました。