【解決】DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

【解決】DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by ヒグラシ » 2020年7月26日(日) 10:19

いつもありがとうございます。

前に質問したトピック(https://tm.lucky-duet.com/viewtopic.php?f=23&t=9654)
で完全に解決できなかったので再度質問の内容を変更してお尋ねします。

(注:以下は上記トピックでの質問の内容と概ね同じです。いわゆるあらすじです)
トリアコンタン様のScene_CustomMenuを使用していますが、
drawTextExでウィンドウ内にテキストを自動的に折り返して
表示したいと思います。そこでDarkPlasma_WordWrapForJapaneseを使えば
自動的に折り返せることがわかりましたがどうもYEP_MessageCoreを入れていると
自動改行がされません。
現在DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを共存させる方法を模索しています。
DarkPlasma_WordWrapForJapanese側ではヘルプにYEP_MessageCoreに対応と
記載されておりYEP_MessageCoreのWord Wrappingをtrueとしましたが改行されませんでした。
(以上が上記トピックでやりとりした内容となります)


YEP_MessageCoreとDarkPlasma_WordWrapForJapaneseを利用しつつ
Scene_CustomMenuのウィンドウ内でdrawTextExを使って
テキストを折り返す方法を知っている人がいたら教えてもらえると嬉しいです。
最後に編集したユーザー ヒグラシ on 2020年8月07日(金) 20:55 [ 編集 1 回目 ]

くも000

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by くも000 » 2020年7月27日(月) 21:23

試していないため解決できるかどうかは分かりませんが、
競合であればMessageCoreに代わる機能を持つプラグインに変えてみるとどうでしょうか?

バックログ機能
https://plugin.fungamemake.com/archives/12865

ネームウィンドウ機能
https://plugin.fungamemake.com/archives/23615

制御文字
https://drive.google.com/file/d/1z0UDF7dXOTJ3HS3-0Oe2m3Iui72Abakk/view?usp=sharing
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by ヒグラシ » 2020年7月28日(火) 00:44

くも000様

お返事ありがとうございます。

試してみましたが割と使い勝手いいので最終手段としては
DarkPlasma様のバックログを使うしかなさそうですね。。
ただこのプラグインはキャンセル押したときに一番上の選択肢が
選択されたことになってログ出力される問題があるのでちょっと困っています。
この問題さえなおればこちらのプラグインに移行してもいいと思います。
でもまだ他のプラグインとの兼ね合いがあるので現時点ではどうなるか未定です。

あとネームウィンドウは現時点では使わない予定でいます。
YEP_MessageCoreについては他のプラグインをいくつかセットにすれば
替えが効くかなって気がしてきました。
いろんな機能がある分競合も多いみたいですね…

とりあえずバックログはキャンセルが認識するようなら移行を検討します。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by Plasma Dark » 2020年8月04日(火) 20:50

どうもYEP_MessageCoreを入れていると
自動改行がされません。


大変申し訳ありません。 YEP_MessageCore に対応しているとヘルプに書いてありますが、メッセージウィンドウ以外についてはまともに対応した記憶がないので、ちょっとその辺怪しいです。
対応コードも保守がしんどいので、 YEP_MessageCore 非対応に変更してしまおうかなとも考えています。

ただこのプラグインはキャンセル押したときに一番上の選択肢が
選択されたことになってログ出力される問題があるのでちょっと困っています。


こちらは手元で再現が取れませんでした。
選択肢が表示されている際にログ画面を開き、そこでキャンセルボタンを押した際の挙動でしょうか。
キャンセルをログに含むかどうかをプラグインの設定で変更できますが、そちらの設定はどうされていますか?
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by ヒグラシ » 2020年8月04日(火) 21:44

YEP_MessageCore非対応であった件は了解しました。
YEP_MessageCoreおよびYEPバックログの利用をやめ
既にPlasma Dark様のテキストログへの移行中です。

Plasma Dark さんが書きました:選択肢が表示されている際にログ画面を開き、そこでキャンセルボタンを押した際の挙動でしょうか。
キャンセルをログに含むかどうかをプラグインの設定で変更できますが、そちらの設定はどうされていますか?


こちらは選択肢をキャンセルしたあとのメッセージ中にバックログボタンを押したときの挙動です。
もちろん選択肢のコマンドのキャンセル分岐にしています。キャンセルをログに含む設定になっています。

調査しましたがMPP_ChoiceExとの競合?だったようです。
こちらのプラグインと併用して症状が発生しました。
同時に使用できないのでしょうか?できれば競合を解決してもらえると助かります。

この競合らしき動作が解決すれば正式に採用させていただきます。
お手数おかけしますがよろしくおねがいします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by Plasma Dark » 2020年8月05日(水) 03:55

調査しましたがMPP_ChoiceExとの競合?だったようです。
こちらのプラグインと併用して症状が発生しました。
同時に使用できないのでしょうか?できれば競合を解決してもらえると助かります。


調査いただきありがとうございます。
こちらでも同様の現象を確認したため、修正したバージョン1.9.1を公開しました。

https://github.com/elleonard/RPGtkoolMV-Plugins/blob/master/plugins/DarkPlasma_TextLog.js

Rawボタンを右クリックして、名前をつけてリンク先を保存してご利用ください。
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by ヒグラシ » 2020年8月05日(水) 22:08

Plasma Dark様

修正を確認しました!
すみませんがもう一点聞いても大丈夫ですか?

YEP_X_MessageBacklogの優位性として
不要なタグを削除してログに登録(置換)する機能があったんですが
このプラグインにはそういったタグ置換機能が存在してないように見えます。

YEP_X_MessageBacklogのremoveMessageBoxOnlyCodes内に
以下のタグ置換スクリプトを追加していました。

コード: 全て選択

text = text.replace(/\\SA\[(.*?)\]/gi, '');
  text = text.replace(/\\SM\[(.*?)\]/gi, '');
  text = text.replace(/\\SP\[(.*?)\]/gi, '');
  text = text.replace(/\\SE\[(.*?)\]/gi, '');
  text = text.replace(/\(/gi, '');
  text = text.replace(/\)/gi, '');
  text = text.replace(/\\RB\[(.*),(.*)\]/gi, '$1【$2】'); //MPP_MessageExによるルビの書式


これのおかげで以下のような形式のタグ(「文章」より前)を削除して登録できてました。
(\SA[ban]\|)「文章」

こういった感じでタグを置換するにはどこに追加すれば良いのでしょうか?
できればプラグインパラメータ内に置換スクリプト(正規表現)が
羅列できるリストでもあればと思います。

上記のコードの一番下の行はルビでMPP_MessageExで出力されるルビの書式です。
元のテキストは「\rb[林檎,りんご]」でこのような形「林檎【りんご】」で置換できるといいです。

もしよければこちらの点にもご回答願えませんか?
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by Plasma Dark » 2020年8月06日(木) 03:49

YEP_X_MessageBacklogの優位性として
不要なタグを削除してログに登録(置換)する機能があったんですが
このプラグインにはそういったタグ置換機能が存在してないように見えます。


DarkPlasma_TextLog では、ログを加工する機能を提供する予定はありません。
テキストログウィンドウに専用の拡張を利用側が追加プラグインで定義できるような仕組みにする、くらいならできるかもしれません。

上記のコードの一番下の行はルビでMPP_MessageExで出力されるルビの書式です。
元のテキストは「\rb[林檎,りんご]」でこのような形「林檎【りんご】」で置換できるといいです。


MPP_MessageEx はメッセージウィンドウ以外でのタグの挙動を定義していないため、 DarkPlasma_TextLog でログ表示した際に崩れてしまう問題があります。
ルビ振りであれば Torigoya_TextRuby プラグインは正常に動作しますので、そちらで代用されるか、メッセージウィンドウ以外でのタグの挙動を定義するような別プラグインを新規で作成いただくのが最も早いかと思います。

Window_Base.prototype.processEscapeCharacter で汎用的なタグの挙動を定義して DarkPlasma_TextLog よりも前に読み込んでおけば、タグごとにお望みの動作が実現できるはずです。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by Plasma Dark » 2020年8月07日(金) 02:18

拡張プラグインを書いてエスケープ文字の挙動を定義できるようにインターフェースを公開した1.10.0を公開しました。

https://github.com/elleonard/RPGtkoolMV-Plugins/blob/master/plugins/DarkPlasma_TextLog.js

有象無象のエスケープ文字に対応しているとキリがありませんので、お望みのものだけ各々がプラグインで定義できるようにしています。
参考にできるよう、exampleのプラグインも用意しました。

https://github.com/elleonard/RPGtkoolMV-Plugins/blob/master/plugins/DarkPlasma_TextLogExtensionExample.js

MPP_MessageEx のルビ振りに対応する例です。
ログウィンドウでもちゃんとルビを振る形で表示しているので少しコード量が多いですが、やっている事自体は単純ですので、参考にどうぞ。
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: DarkPlasma_WordWrapForJapaneseとYEP_MessageCoreを併用して Scene_CustomMenuのウィンドウ内でテキストを折り返ししたい

投稿記事by ヒグラシ » 2020年8月07日(金) 20:52

Plasma Dark様

Plasma Dark さんが書きました:有象無象のエスケープ文字に対応しているとキリがありませんので、お望みのものだけ各々がプラグインで定義できるようにしています。
参考にできるよう、exampleのプラグインも用意しました。

MPP_MessageEx のルビ振りに対応する例です。
ログウィンドウでもちゃんとルビを振る形で表示しているので少しコード量が多いですが、やっている事自体は単純ですので、参考にどうぞ。


お世話になっています。
正直まさかテキストログ内にルビ打ちまでできるようにしていただけるとは
思っていませんでした。
ここまでやっていただけるというのは想定外というか恐れ入ります。
想定していた動作としては単純にテキストログに「林檎【りんご】」
といった感じで記録されることを想定してました。
というのもどこのテキストを文字列置換したものをテキストログに
登録すればよいのかわからなかったからです。

それがルビ分の高さまで考慮してテキストログに(メッセージウィンドウに表示されたそのままの状態で)
記録することができるなんて…
このような拡張プラグインまで作成いただいて感謝しかありません。
もっとも今の自分のスクリプトの知識ではこれを編集とか難しいので
今後勉強して編集できるようにならなくてはと思う次第です。
とりあえずそのまま動いたので使わせていただきます。

文句なく解決とさせていただきます。ありがとうございました。

“MV:質問” へ戻る