【解決済】drawTextExで指定した幅で折り返す方法が知りたいです

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

【解決済】drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by ヒグラシ » 2020年7月24日(金) 22:25

トリアコンタン様のSceneCustomMenuを使ってウィンドウを作った際、
そのウィンドウ幅で自動的に文字を折り返したいと思います。

drawTextExではエンターキーによる改行は使えますが
指定した幅で自動的に改行してくれませんでした。

this.drawTextEx(`Text:${item.name}`, r.x, r.y, r.width); // 任意のテキスト描画(制御文字変換あり)

4つ目の引数にウィンドウ幅を入力していますがこれで改行できないようです。
drawTextExでウィンドウ幅を指定して改行するにはどうすればいいですか?
尚、任意の位置で改行もしたいので必ず複数行対応できるExのほうでなくてはなりません。
最後に編集したユーザー ヒグラシ on 2020年7月26日(日) 10:17 [ 編集 1 回目 ]

論理イヌ
記事: 196
登録日時: 2020年3月13日(金) 13:05

Re: drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by 論理イヌ » 2020年7月25日(土) 10:50

毎回答えてしまってすみません。

私の場合は下記のプラグインを入れて改行させています。

DarkPlasma_WordWrapForJapanese.js
https://plugin.fungamemake.com/archives/22892
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by ヒグラシ » 2020年7月25日(土) 16:29

論理イヌ様

論理イヌ さんが書きました:私の場合は下記のプラグインを入れて改行させています。


いつもお返事いただきありがとうございます。
オススメいただいたプラグインなんですが以前にためしたことがあって
これでいけると思ったんですがdrawTextExに対応してない?のか
導入しただけではなにも変化ありませんでした。
これはONにするだけで動作するものではありませんか?

もしよければこのプラグインを使ってどのようにして
drawTextExに対応させているのか教えていただけませんか?
SceneCustomMenuを実際に使われている方のお返事は非常に心強いです。
ありがとうございます。
論理イヌ
記事: 196
登録日時: 2020年3月13日(金) 13:05

Re: drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by 論理イヌ » 2020年7月25日(土) 18:43

・2行表示させるため、項目の高さを120にしています。
・項目の横幅は450の固定値にしていますが、r.widthでも改行されることを確認しました。
 また、item.name以外でも、metaでの文字も横幅いっぱいで改行されました。

コード: 全て選択

this.drawTextEx(`${item.name}`, r.x+100, r.y+18, 450); // 任意のテキスト描画(制御文字変換あり)

・この二つのプラグインと、トリガーになっている「ピクチャのボタン化プラグイン」の3つのみONの状態で動かしましたが、改行されました。
 また、プラグインの順番を入れ替えたりしましたが、関係なく改行されました。
・helpやら開閉アニメやらのon/offを一通り試しましたが、関係なく改行されました。
・DarkPlasma_WordWrapForJapanese.jsのプラグインは初期設定のままです。
・「カスタムメニュー作成プラグイン」のバージョンは「1.6.2 2020/07/08」です。最新じゃなかった気がする。
 念のため添付しておきます。

あまり意味ない情報かもしれないですが、何かのヒントになれば……。
添付ファイル
p.zip
(17.46 KiB) ダウンロード数: 3 回
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by ヒグラシ » 2020年7月25日(土) 20:30

論理イヌ様

ありがとうございます。原因がわかりました。

YEP_MessageCoreが原因のようです。
このプラグインをOFFにしたら無事改行されました。

このプラグインは確か制御文字の拡張が便利で使ってて、
更に拡張ブラグインとしてバックログの機能がある
YEP_X_MessageBacklogも併用してて
YEP_MessageCoreがないとバックログが使えないので
YEP_MessageCoreは使わざるを得ません。

YEP_MessageCoreを有効にしてかつdrawTextExによる行末自動改行できれば
一番なのですが…
DarkPlasma_WordWrapForJapaneseのヘルプには
Word Wrappingをtrueにするよう記載されていたのでtrueにしてみたんですが
やはり自動改行されませんでした。
他の項目もいじってみたりもしたんですが結果は変わらずでした。

DarkPlasma_WordWrapForJapaneseのヘルプには対応しているような感じのことが
書かれてるので何か他にやり方あるのでしょうか?

ちなみに順番はDarkPlasma_WordWrapForJapaneseをYEP_MessageCoreの下に配置してます。
論理イヌ
記事: 196
登録日時: 2020年3月13日(金) 13:05

Re: drawTextExで指定した幅で折り返す方法が知りたいです

投稿記事by 論理イヌ » 2020年7月25日(土) 23:54

YEP系は競合が多いと聞いているので、入れていません。
必要な処理があれば、その都度プラグインを入れています。
バックログは単品のプラグインがあるみたいですので、そちらを試されてみてはどうでしょうか?
ヒグラシ
記事: 94
登録日時: 2019年8月03日(土) 21:00

Re: drawTextExで指定した幅で折り返す方法が知りたいです

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

論理イヌ様

お世話になっています。お返事ありがとうございます。
ぽに犬様のバックログはスクロールがページ単位なのがイマイチだったのと
Sabakan様のバックログは$gameBackLog.addLog(name, message);
を行わないとメッセージが登録されないということで使いにくいです。
結果的にYEP様のが一番使いやすく感じました。
他にバックログの使いやすいものがあれば教えてほしいところですが
とりあえず今回の質問の趣旨と異なるので別トピックで
MessageCoreとDarkPlasma_WordWrapForJapaneseを共存させる方法を
模索していきたいと思います。
ということでこちらのトピックは一旦締めたいと思います。
この度はありがとうございました。
YEP_MessageCoreが原因ということだけでもわかったので助かりました。
また機会がありましたらよろしくおねがいします。

“MV:質問” へ戻る