【解決済み】アクターのメモ欄から取得した文章をメニュー画面に表示したい

izumi
記事: 3
登録日時: 2018年2月24日(土) 01:02

【解決済み】アクターのメモ欄から取得した文章をメニュー画面に表示したい

投稿記事by izumi » 2018年2月24日(土) 01:23

こんにちは。
よろしくお願いします。

現在、オリジナルのメニュー画面の制作に挑戦しております。

件名の通り、各アクターのメモ欄に <x:ここを表示させたいです> 等と表記した文章を
メニュー画面のステータスウィンドウ(キャラクターのレベルやHP、MPを表示していた部分)に
表示したいと考えています。

メモの取得、および表示を
this.drawText($dataActors[アクターID].meta.x, x, y, width);
で行うことまでは分かり、実際に[アクターID]を1にした場合はアクター1番のメモが取得されたのですが
この場合ですと2番目以降のアクターのステータス欄にも、アクター1番のメモ内容が表示されてしまいます。

[アクターID]の部分を[$gameParty.members()[0].actorId()]や、他にも[this.actor]等にしてみましたが
この場合はエラーが起こってしまいます。

メニュー画面に表示されている4人のアクターIDを一度に取得し、それぞれのメモ欄も取得することで
それぞれのステータス部分に違う文章を表示する方法をどなたかご存知ないでしょうか?
よろしくお願いいたします。
最後に編集したユーザー izumi on 2018年2月24日(土) 10:07 [ 編集 1 回目 ]

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: アクターのメモ欄から取得した文章をメニュー画面に表示したい

投稿記事by フトコロ » 2018年2月24日(土) 01:49

こんにちは。

おそらく以下の部分に手を加えているのだと思いますが
rpg_windows.js

コード: 全て選択

Window_Base.prototype.drawActorSimpleStatus = function(actor, x, y, width) {
    var lineHeight = this.lineHeight();
    var x2 = x + 180;
    var width2 = Math.min(200, width - 180 - this.textPadding());
    this.drawActorName(actor, x, y);
    this.drawActorLevel(actor, x, y + lineHeight * 1);
    this.drawActorIcons(actor, x, y + lineHeight * 2);
    this.drawActorClass(actor, x2, y);
    this.drawActorHp(actor, x2, y + lineHeight * 1, width2);
    this.drawActorMp(actor, x2, y + lineHeight * 2, width2);
};

ここに追加するのであれば
this.drawText(actor.actor().meta.x, x, y, width);
とすればよいです。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
izumi
記事: 3
登録日時: 2018年2月24日(土) 01:02

Re: アクターのメモ欄から取得した文章をメニュー画面に表示したい

投稿記事by izumi » 2018年2月24日(土) 10:06

アドバイスありがとうございます!
おかげさまで、問題なくメモ欄を取得・表示することができました。
これで思った通りのメニュー画面が製作できそうです。

感謝いたします。

“MV:質問” へ戻る