読者です 読者をやめる 読者になる 読者になる

ぼんさいゲーム

RPGツクールMVでゲームを作ったりするブログ

PRGツクールMV「セリフテキストを画面端で改行」メッセージを自動で折り返す方法

YED_WordWrap.jsプラグイン

海外のツクール職人さんが制作されたプラグイン「YED_WordWrap.js」の説明記事です。

発端

twitter上で「YED_WordWrap.js」の設定がうまくいかず困っている人が…。
https://twitter.com/Finger_Man/status/674082237990629376

アドバイスを送ろうとまとめている最中に、ご本人が自己解決されていました。
https://twitter.com/Finger_Man/status/674133597003997184

悔しいので、あらためて説明を書きます。

「YED_WordWrap.js」とは

「Yami氏」が制作されたプラグインです。
メッセージのテキストを自動的に端で折り返してくれます。
yed.yami.moe

ダウンロード

上記のリンクからYami氏のページに飛び、
「Download」と言う項目の「Raw Text」のリンクを右クリックしてパソコンに保存します。

利用規約

Any original material made by Dr.Yami on this site is free for use with both free and commercial RPG Maker games unless specified otherwise. I do not demand royalties or special liberties if you choose to use Dr.Yami original content in your commercial games. (Although a free copy of your game would be nice!) I only ask that you provide “Yami” or “Yami Engine” a spot in your game’s credits.

Any edits made to Dr.Yami original material are okay as long as you still provide the proper credit. Any non-Original content posted, linked, or shared on my website will still require you to contact the respective parties for permission of use.

© Dr.Yami (Cuong Nguyen)

要約すると、

  • 商用利用可(無料でYamiさんに送ったら喜ばれる)
  • クレジット必要、「Yami」か「Yami Engine」

使い方

イベントのメッセージなどの入力欄に「<wrap><breakword>」を追加ます。
(注意:<wrap>だけだと、英単語様なので空白のある場所でしか改行してくれません)

f:id:minamiju:20151208170921p:plain
f:id:minamiju:20151208170931p:plain

「<breakword>」について

Yami氏にしろYanfly氏にしろ、英語圏の人が作ったプラグインなので、
「long long time ago」みたいに空白で単語が区切られていることが前提になっています。

これを「long long time(改行)ago」にしているわけです。
単語ごとにしないと「long long time a(改行)go」みたいになって、全く意味が違う言葉になっちゃう。

でも、単語自体が長すぎて改行したいこともあるわけです。
例えば「Floccinaucinihilipilification」という単語とか。
これを「Floccinaucinihilipil(改行)ification」みたいな感じで表示するために使うオプションが「<breakword>(単語破壊)」なわけです。

日本語は単語の切れ目に空白文字を使っていませんので、全部一つの単語だというふうにプラグインからは認識されてしまいます。
なので、この「<breakword>」を使って、たとえ単語の途中でも自動で改行して欲しいよ、と言わないと日本語は自動改行されません。

英語なら「<wrap>」だけでも自動で折り返される

English word can auto word wrap because there is split by white space. But japanese word is not split by white space so plugin can not wrap automatic. sad....

f:id:minamiju:20151208180515p:plain

Yanfly氏の「YEP_MessageCore.js」

Yanlfy氏の「YEP_MessageCore.js」については残念ながらBreakWord機能に対応していないようで、日本語の自動折り返しはできないようです。

「YED_WordWrap.js」の詳しい使い方

使える箇所

ウィンドウに文字を表示する箇所なら、たいてい使えるようです。
一例をあげますと、

  • メッセージウィンドウ
  • アイテムやスキルの説明
  • バトル中のバトルログ

などの場面で使えます。
(バトルログについては注意が必要で、たとえ改行されても次のメッセージで2行めとかが上書きされちゃいますので、余り使えないかも)

使用例スクリーンショット

バトルメッセージ

f:id:minamiju:20151208181101p:plain
f:id:minamiju:20151208181131p:plain