2016年1月30日土曜日

フキダシウィンドウプラグイン

RPGツクールMVで使用可能な自作プラグイン「フキダシウィンドウプラグイン」の紹介です。

Popup window plugin


プラグインの説明

メッセージウィンドウを指定したキャラクターの頭上にフキダシで表示するよう変更します。キャラクターのマップ上の位置によってはウィンドウが画面の上に隠れてしまう場合もあるので注意してください。

Change the message window from fixed to popup

スクリーンショット

パラメータ

プラグインマネージャーから指定するパラメータの説明です。

日本語

  • フォントサイズ : フキダシウィンドウのデフォルトフォントサイズ
  • 余白 : フキダシウィンドウの余白サイズ
  • 自動設定 : イベント起動時にフキダシの対象が、起動したイベントに自動設定されます。(ON/OFF)
  • フェイス倍率 : フキダシウィンドウの顔グラフィック表示倍率(1-100%)
  • ウィンドウ連携 : 選択肢ウィンドウと数値入力ウィンドウをポップアップウィンドウに連動させます。(ON/OFF)

English

  • FontSize : Font size of popup window
  • Padding : Padding of popup window
  • AutoPopup : Popup set when event starting(ON/OFF)
  • FaceScale : Scale of face graphic of popup window(1-100%)
  • WindowLinkage : Select window and Number input window is linkage with popup window(ON/OFF)

ダウンロード

プラグインファイルはGithubで公開しています。

ダウンロード(Download)

利用規約

当プラグインはMITライセンスのもとで公開されています。作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)についても制限はありません。このプラグインはもうあなたのものです。

http://opensource.org/licenses/mit-license.php

更新履歴

  • 2016/01/30 選択肢と数値入力ウィンドウをポップアップと連携するよう修正
  • 2016/01/29 初版

52 件のコメント:

  1. 素晴らしいプラグインですね!
    ところで、ふきだしをキャラの頭上でなく、キャラの下に表示することは可能でしょうか?
    キャラが縦に並んでいる場合は、どちらも頭上にふきだしを表示すると、キャラが隠れてしまったり、誰の台詞かわかりにくくなってしまうので…

    返信削除
    返信
    1. ありがとうございます。
      ウィンドウの表示位置ですが、技術的には可能だと思いますので検討してみます。

      削除
  2. ありがとうございます。よろしくお願いします。

    さっそくプラグインを導入させていただいてテストをしているのですが、並列でイベントがあると、ふきだしが解除されて通常のメッセージウインドウに戻ってしまいます。(自動設定はOFfに設定しています)回避方法がある場合は教えていただけないでしょうか?よろしくお願い致します。

    返信削除
    返信
    1. そちらについては不具合かと思います。上の対応と併せて回避方法を検討してみます。

      削除
    2. ウィンドウをキャラクターの下に表示+並列イベント時の不具合回避の対応を行いました!
      お手数をお掛けしますが、お時間のあるときにでも、動作をご確認ください。。

      https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/MessageWindowPopup.js

      削除
    3. ありがとうございます!
      並列イベントの問題も、キャラの下にふきだし表示も、どちらも希望通りに動いており感動しております。
      素晴らしいプラグインを本当にありがとうございました。

      削除
  3. いつも素晴らしいプラグインを公開していただきありがとうございます。
    私はビービーという名前でツクマテにてトリアコンタンさんのお世話になったものです。
    今回はこのプラグインの改変を依頼したくコメントさせていただきます。

    私は村人などが多いと全員に話しかけるのが面倒だなと思ってしまうたちでして、なので村人から話しかけてもらえるとたすかるなぁと。
    そこで村人などのイベントにアクターが一定の距離まで近づくとフキダシが表示され、離れると消える。そして決定ボタンで話しかけるとフキダシが消えてMVの通常のメッセージで会話が始まるという風なことがやりたいのです。
    例1:「ちょっとそこのキミ・・・」(フキダシ、並列処理、離れると消える)
       決定ボタンで話しかける
       「そうそうキミに頼みたいことがあるんだ」(通常メッセージ、決定ボタンでページ送り)
    例2:「ここは始まりの村だよ」(フキダシ)
       フキダシの最後に「・・・」がないキャラには話しかけられない

    このような感じでできたらすごくありがたいです。ぜひよろしくお願いします。

    返信削除
    返信
    1. こんにちは。プラグインのご利用ありがとうございます。
      ご依頼の件についてやり方を検討してみたのですが、修正しなければならない箇所が意外と多そうです。
      もう少し検討してみますが時間が掛かるかもしれません。

      削除
    2. ご検討ありがとうございます。
      大変な作業と知らず依頼してしまいすみません。
      時間はかかっても大丈夫です。むしろお茶飲みながらゆっくりしてください。
      ラノベや新しいプラグインなども楽しみにしているものとしては体に気をつけてほしいのです。
      よろしくお願いします。

      削除
    3. お気遣いありがとうございます。
      ご要望に関しては萎縮しなくても大丈夫ですよ。
      最終的な対応可否や対応時期は、私の方で他のやりたいことや気分、体調も併せて判断しますので。。
      今回の件に関しては、一部プラグイン、一部イベントを併用して実現するかたちになるかもしれません。

      削除
  4. はじめまして、トリアコンタンさんの素晴らしいプラグインを利用させて頂いています
    その中で不具合といいますか、気づいた点といくつか要望があります

    ・現状デフォルトの制御文字以外のプラグインで追加された制御文字が文字数としてカウントされてしまう

      逐一数あるプラグインの制御文字に対応するのは困難だと思うので
      「指定文字数分widthをマイナスするプラグインコマンド」が欲しいです

        例)MWP_WIDTH[-x] x文字分widthの短縮

    ・ふきだし時だけ適用されるwindow画像の指定がしたい

      素材規格は通常のwindow.pngと同様で、異なる画像を用意し、プラグインコマンドで指定できるようになると
      素敵だと思います

        例)MWP_SKIN[yyyy] yyyy.pngをウィンドウ画像に適用

      更にファイル名に規則性を作り、条件を満たす複数の画像からランダムで適用されるとなお素敵です

        例)MWP_RANDSKIN[zzzz] zzzz_01.png zzzz_02.png zzzz_03.png からランダムでウィンドウ画像に適用


    ご多忙な中、不躾で大変失礼をいたしました
    お仕事のますますのご発展をお祈り申し上げます

    返信削除
    返信
    1. 連投すみません
      選択肢ウィンドウと数値入力ウィンドウを追尾でなく、プレイヤーのふきだしとして扱うっていう設定も素敵かも
      なんて思っています。ずうずうしくてすみません

      削除
    2. お疲れさまです。
      フキダシウィンドウの位置とサイズの調整、専用のウィンドウスキンの使用、プレイヤーのふきだしを実装しました。
      都合上、細かい部分でご提案いただいた仕様と異なっていますがご了承ください。

      削除
    3. すばやい対応ありがとうございます!
      思った通りの挙動で感動です。 選択肢や数値入力をプレイヤー基準にした際
      「送りカーソル」の表示まで期待するのはワガママがすぎるでしょうか。
      とりあえずピクチャ表示でそれらしく出来ているので十分すぎるのではありますが

      あと一点不具合というか
      イベントの画像を(なし)に設定していると、MWP_VALID 0 を設定しても
      主人公起点になってしまうようです。空画像を指定すれば対応出来るので不具合というほどでも
      ないかもしれません

      ありがとうございました

      削除
    4. 送り画像とは、ページ送り待機中に表示される三角の画像でしょうか……?
      それならテールとして使っているので、両方表示させるのはちょっと難しいですね。。

      また、フキダシ位置ですが、今回の改修によりキャラクター画像の高さを基準に決定するように変更したのですが、
      イベント画像を「なし」にした場合は、画像の高さが0と認識されてしまうため表示位置が1マス分下に表示されてしまうので
      それが原因かも知れません。こちらは対応可能なので近いうちに対応します。

      削除
    5. 承知しました!日本語が下手くそで申し訳ない(日本人なのに!)
      選択肢・数値入力欄にもテールが欲しいという意味でした

      ┏━━━┓
      ┃はい ┃
      ┃いいえ┃
      ┗━∨━┛

      こういうことですね(テキストだとわかりにくい…)。

      現状は都度コモンイベントで変数にプレイヤー座標を代入し
      ふきだしが上の場合と下の場合との表示座標を割り出し
      一度イベント内で呼び出したあとピクチャ表示で対応、
      そして都度ピクチャを消すというやり方で対応しています。

      ともあれ、そこまで頻繁に使用する機能でもないので
      今回のアップデートは個人的に神がかっておりました

      重ねて御礼申し上げますm(_ _)m

      削除
    6. イベントの画像を(なし)にした場合の問題を修正しました。

      あとテールの件ですが、下記の画像のように出力されるはずなのですが、うまく出ていないでしょうか?

      https://lh3.googleusercontent.com/-hStKsy_lwqI/VvlDPNC0dFI/AAAAAAAAbow/x5tO8NhlHh0XMdz8R3sd_ZoxMNC6c2B9gCCo/s816-Ic42/image_20160328_234344.jpeg

      削除
  5. こんにちは。
    プラグインのご利用ありがとうございます。
    当プラグインについてはいくつかご要望を頂いていますので、時間のあるときに対応可能なものについて検討してみます。

    返信削除
  6. こんばんは。素晴らしいフキダシですね。
    しかし・・・ヘルプを読みながら書き込んだのですが、不要なコマンドなのか反映せず▽で終わってしまいます。
    頭がついていけないのかと悩ませていました。すみません。
    一通りの例で、これで出せますよみたいな感じのを教えて頂ければ幸いです。

    やってみたのは
    MWP_VALID ID
    MWP_SETTING POS_UPPER
    MWP_SETTING SKIN window
    MWP_ADJUST POS 5 -3 フキダシウィンドウ調整 サイズ 20 -40
    通常メッセージ

    とやってみました。

    返信削除
    返信
    1. こんにちは。プラグインのご利用ありがとうございます。
      見たところ、「フキダシウィンドウ調整 サイズ 20 -40」のところで高さを「-40」に設定しているためウィンドウの高さが0になっているものと思われます。

      本プラグインは、プラグインコマンドを使わずにいきなりメッセージを表示してもフキダシが出るようになっているので
      まずは、コマンドなしで実行してみてください。

      基本的にフキダシの位置やサイズは自動調整される仕組みになっているので
      「フキダシウィンドウ調整」のコマンドは特に理由がなければ使わなくてもOKです。
      また、MWP_SETTING SKIN windowのコマンドですが、デフォルトでwindow.pngを使用するので、この指定も特にいらないかと思います。

      削除
    2. こんばんは。回答ありがとうございます。

      プラグインコマンドを使わずにメッセージすると通常メッセージの表示でした。(プラグインはONになっています。)
      ID指定のコマンドをすると逆三角が出ているだけで、次にメッセージを入れても無言で終了になっています。

      気になっていたのですが、アップデートVer1.1.0はやっていますので、それで表示できないようになっているのではないかな?と心配はありますが、大丈夫でしょうか?
      新規ファイルで作ってやってみても同じように無言の逆三角終了でした。

      サイズの方は250 50にするとフキダシらしい表示は出ていますが、
      フキダシの←↑から文字が極小に表示出ていて読めません。フォントは28で10~1000にしても変化はありません。

      よろしくお願いします。

      削除
    3. こんばんは。
      アップデートはこちらでも行っています。
      念のため再度確認しましたが、こちらの環境では問題なさそうです。
      本来であれば、こちらのデモように表示されることを想定しています。
      triacontane.github.io/PluginDevelopment/?map=17&x=5&y=7


      ご報告いただいた現象から考えるとプラグインパラメータが正しく取得できていないのかもしれません。
      ファイル名は「MessageWindowPopup.js」になっているでしょうか……?

      お手数をお掛けしますが、よろしくお願いします。

      削除
    4. こんばんは。回答ありがとうございました。
      ファイル名が違ったのを登録していたのでうまく反映していませんでした。
      「MessageWindowPopup.js」とファイル名を登録してみると、ちゃんとフキダシ表示出来ました。

      色々とお世話になりました。確認などのお手数をおかけしてすみませんでした。
      ゲーム作りが楽しくなりそうです。

      削除
  7. こんばんは。素晴らしいプラグインですね。
    至極、初歩的な質問かと思いますが、キャラクターIDとはどの部分に記載されているのでしょうか。
    MWP_VALID -1 でプレイヤーの指定は分かったのですが、パーティのキャラ指定の仕方が分からず……
    お手空きの時間にお教えいただけると幸いです。

    返信削除
    返信
    1. こんばんは。プラグインのご利用ありがとうございます!
      現状、隊列歩行しているパーティメンバー(フォロワー)を対象にフキダシを表示することはできません。
      -1でプレイヤー、0で実行中のイベント、1以上で指定したIDのイベントになります。

      フォロワーを対象に表示できる機能については検討してみます。

      削除
    2. なるほど、了解致しました。
      お忙しい中の返信ありがとうございます!

      削除
    3. こんにちは。遅くなりましたが、フォロワーにフキダシを表示する機能を追加しました。
      よろしければお試しください。

      削除
  8. どうもこんにちは
    MWP_SETTING SUB_POS_INNER を使用中、選択肢を4つまでだと正常に表示してくれるのですが
    5つ、6つにするとスクロール可能な↓矢印が出てきます。一度に画面内に全ての選択肢を表示するのは
    可能でしょうか?
    ウィンドウが上に見切れる場合に自動で下に表示してくれる機能が働いた場合は
    下の選択肢が見切れますがスクロール表示はしないみたいです。

    返信削除
    返信
    1. こんにちは。
      プラグインのご利用ありがとうございます。
      ポップアップ時に選択肢を増やした場合に出現する矢印を抑制しました。(ver1.3.3)

      お手数をお掛けしますが、動作をご確認ください。

      削除
    2. 問題なく動作しております。
      早い対応ありがとうございました。

      削除
  9. お初にお目にかかります。
    とても可愛らしいプラグインで大変重宝しています。

    ただ、スクリプトを使って文章を表示させた際、フキダシが表示されません。
    どうすればフキダシで表示させられるのか。
    対策を教えて下さると嬉しいです。

    使用したスクリプト
    $gameMessage.add("文章");

    返信削除
    返信
    1. はじめまして!
      プラグインのご利用ありがとうございます!
      文章を表示する前に以下のスクリプトを実行してください。

      $gameSystem.setMessagePopup(イベントID(プレイヤー:-1 このイベント:0 指定したIDのイベント:1...));
      $gameMessage.add("文章");


      $gameSystem.setMessagePopup(-1);
      $gameMessage.add('プレイヤーの頭上に表示されます。');

      削除
    2. 迅速な返信ありがとうございます。
      無事にフキダシを設定することができました。
      またの機会があればよろしくお願いいたします。

      削除
    3. 申し訳御座いません。早速質問させていただきます。
      $gameSystem.setMessagePopup(-1);
      を入力するのはスクリプトで間違いないでしょうか?

      何度か試しましたが、私の環境下ではフキダシが表示されませんでした。
      もし、間違えている点があれば教えてください。

      ちなみに、他のプラグインとは併用しておりません。

      削除
    4. すみません。説明不足でした。
      同プラグインは、イベントが終了するとフキダシの設定を自動解除する仕様です。
      イベント内容に上記スクリプトしか指定しないと、実行した瞬間にイベント終了して設定したフキダシが無効になります。
      対応するためには以下のようにウェイトモードをメッセージ終了待機に設定すればOKです。

      $gameSystem.setMessagePopup(-1);
      $gameMessage.add('プレイヤーの頭上に表示されます。');
      this._waitMode = 'message';

      削除
    5. 返信が遅れてしまい申し訳ありません。
      無事にフキダシを表示させることができました。
      丁寧な対応をありがとうございました。

      削除
  10. こんにちは、いつもありがとうございます!
    すでにご対応済みの「ウインドウ幅調整」なのですが、
    少し要望がありまして…ご検討いただけますでしょうか。

    幅の増減をその都度手入力するのではなく、
    あらかじめオプション設定で「除外文字列リスト」みたいなものを
    つくっていただくことは難しいでしょうか?
    たとえば \fn<GameFontCaption>といった文字列を除外リストに登録しておいて、
    それがテキスト中にあったら、横幅判定時のカウントから外すという…

    よろしくお願いします!

    返信削除
    返信
    1. ちょっとわかりづらかったので補足しますと、
      「除外文字列リスト」というオプション項目をプラグインパラメータとして作っていただいて、
      そこに、使用する人が自分で「除外文字列」をコンマ区切りか何かで入力する、というものです。

      削除
    2. (プラグインも含めて)制御文字として認識された場合は、幅に加算しないようにするのがいいかもしれません。
      言いやり方を検討してみます。

      削除
    3. ぜひよろしくお願いします!
      「人のセリフと物のダイアログでフォントを変える」ことをやっていまして、
      頻繁にプラグインコマンドを使うので、その仕様が実現されればベスト!です。
      大変かと思いますが、ご検討くださいませ。

      削除
    4. デフォルト以外で制御文字と見なされる記述(\aaa[333]や\d)を枠幅の計算から除外するよう修正しました。(ver2.0.3)
      動作をご確認ください。

      削除
    5. フォント変更の制御文字にもおそらく対応していると思います。

      削除
    6. ありがとうございます、確認しました!
      ばっちり動いています。
      これで作業がとても楽になりました。

      削除
  11. 初めて書かせていただきます。このフキダシプラグインを

    ツクマテにあるオンラインシステム
    http://tm.lucky-duet.com/viewtopic.php?f=5&t=1618
    チャットシステムで使えるようにしていただけないでしょうか?

    返信削除
    返信
    1. はじめまして! プラグインのご利用ありがとうございます!
      内容的に、当該プラグインの動作を深く理解する必要がありそうですので当面は難しいです。

      削除
    2. 検討していただきありがとうございます

      削除
  12. こんばんは。
    いつも素敵なプラグインをありがとうございます。

    質問があるのですが、並列処理をしていて、イベントで通常会話を吹き出しにせずに、例えば、パラメータの自動設定をOFFにして、プラグインコマンドで、MWP_VALID -1と呼び出し、アクターの上に吹き出しを表示しているんですが、吹き出しにしたくない場所にプラグインで「MWP_INVALID」と入れてみても、吹き出しが解除されません。

    並列処理に問題があるのでしょうか?
    一応プラグインの位置は、一番下にしてあります。

    初心者的質問で申し訳ないのですが、教えていただけないでしょうか?

    返信削除
    返信
    1. 自己解決しました。お騒がせして申し訳ありません。

      削除
    2. お疲れさまです。
      解決されたようでなによりです。
      また何かありましたらいつでもご相談ください!

      削除
  13. こんにちは。素晴らしいプラグインの数々にいつもお世話になっております。

    さて、「MWP_SETTING SKIN ○○」でウィンドウスキンを変更した状態で一度ゲームを終了し、再度ロードしてすぐ文章の表示を行うと、黒い文字で表示される現象があるようです。
    一度表示されれば以降は通常の文字色に戻り、再度終了→ロードすると再び同じ現象が起きます。リロードでは再現しませんでした。
    また、制御文字での文字色の指定は問題なく反映されました。
    なお、貴サイトに埋め込まれたデモでは再現せず、当方の新規プロジェクト(オフライン)では再現しました。

    まとめると、
    「ゲームを立ち上げてすぐ」、「事前に『MWP_SETTING SKIN ○○』を実行済みのデータ」で、「最初に表示されるメッセージの文字が黒い」
    という感じです。

    よろしければ、お時間のある時にでもご確認いただけますと幸いです。

    返信削除
    返信
    1. こんにちは! プラグインのご利用ありがとうございます!
      現象を確認、修正しました。お手数ですが記事のURLより再ダウンロードをお願いいたします。

      ウィンドウスキンを変更しているデータをロード直後にフキダシメッセージを表示すると文字が黒くなってしまう問題を修正(ver2.0.5)

      削除
    2. お世話になります。
      早速こちらでも修正の確認をさせていただきました。
      この度は本当にありがとうございました!

      削除