[RGSS3]文章の表示領域を調整する。

※ 2014/05/28 更新
※ 2013/12/07 更新
※ 2013/11/04 更新
※ 2013/11/03 更新
※ 2012/02/25 更新
|д・) ソォーッ…



 どうも、数日中RGSS3と悪戦苦闘していましたSOLAです。
 スクリプトに頼らないとか言いながら、結局使ってるじゃねーかよ!
 ……というツッコミはなしの方向で(´Д`;)アセアセ
 あくまで、自分の勉強の為、できそうなことは自力で、ってスタンスであります。

 顔グラフィックなしの時。
 デフォルトだと、どうしても左に寄り過ぎ感が否めないメッセージ領域。
SS_RPGツクールVXAce

 これを手打ちで調整するには、どうも手間がかかりすぎます。
 そこで、またしてもVXのサンプルゲーム『レクトールと黒獅子の紋章』の
 同梱おまけ素材を参考に、文章の表示領域を調整するスクリプトを作ってみました。

 これを使うと、こんな感じに!
winmsg_test002.png


 詳細は、続きへ追記します。




 悪戦苦闘していたのは、ウィンドウ右に出ていた謎のマーク。
winmsg_test.png

 これが、スクロール用矢印だということをご指摘頂くまで
 枕を濡らす日々でした……。

 ウィンドウ幅をいじらずに、ただセンタリングするだけであれば
 改行位置をずらすだけだったので苦労はしなかったのですが、
 せっかくだから幅も調整してみようと欲張ったのが運の尽き。
 この矢印のせいで二日はツクツクの手が止まりました。
 ……ま、でもなんとか問題は解消できたし、望みのモノが出来たからいっかな!
 今はちゃんと、矢印なしで表示されます。
winmsg_test003.png


 需要は定かではありませんが、SOLAと同じように左寄りに悩む方の為に参考素材として置いておきます。
 ちなみに、画面サイズはデフォルトの544×416を基準に計算しています。

---------- 使用要項 ----------

[素材の種類] 
RGSS3素材。

[利用報告]
任意でOK。クレジットも任意。

[利用規約]
素材の加工OK。
加工後の配布はOK。
そのまま再配布はナシ×

------------------------------

【使用方法】

 これは至って簡単。
 RGSS3内のユーザー設定で
 文章領域調整用スイッチウィンドウ幅調整用変数を設定します。
winmsg_test004.png


文章領域調整用スイッチ:OFF / ウィンドウ幅調整用変数:0】
(いわゆるデフォルト
SS_RPGツクールVXAce


文章領域調整用スイッチ:ON / ウィンドウ幅調整用変数:0】
winmsg_test002.png


文章領域調整用スイッチ:ON / ウィンドウ幅調整用変数:1】
winmsg_test003.png


Window_Message_Fit_1_0_5.txt
 Ver.1.0.5 2014/05/28 メニューやショップの処理を行った後に文章が正しく表示されない不具合を修正
 Ver.1.0.4 2013/12/07 ウィンドウ幅の変更がない場合でもウィンドウが閉じてしまう不具合を修正
 Ver.1.0.3 2013/11/04 再発していた背景と位置の変更判定が正常に反映されない不具合を修正
 Ver.1.0.2 2013/11/03 顔グラフィックありでも領域が狭まってしまう不具合を修正
 Ver.1.0.1 2012/02/25 背景と位置の変更判定が正常に反映されない不具合を修正




|彡サッ!

この記事へのコメント

  • おさむ

    はじめまして。
    上記スクリプトを試させていただいたのですが、使い方がよく判りませんでした。

    ツクールAceの、スクリプトエディタに貼り付ければ宜しいのでしょうか?

    初心者の質問でお手数をお掛けしてしまい申し訳ありませんが、ご教授いただければ幸いです。
    2013年10月10日 19:30
  • SOLA

    >おさむさん
     はじめまして、こんばんは。
     まずは返信が遅くなりましたことをお詫び申し上げます。

     そして、当素材をDL頂きありがとうございました。
     この素材は貼り付けただけでは機能せず、少し設定をしてもらわなければなりません。
     では早速、使用方法を順を追って説明させて頂きますね。

    1.RPGツクールVXAceのスクリプトエディタを開き、「▼ 素材」の下に貼り付ける。
    2.素材スクリプト内「◎ ユーザー設定」以下「○ 定数(文章領域調整用スイッチ」と「○ 定数(ウィンドウ幅調整用変数」を設定する。
    (33行目あたりにあります)
    -----
    ↑ スクリプト関連はここで終了です。
    -----
    3.イベント作成を行い、実行内容に 2. で設定したスイッチと変数に値を入力する。
    -----
    ●スイッチの操作
     スイッチ→単独[2.で設定したスイッチ番号]
     操作→ON
    ●変数の操作
     変数→単独[2.で設定した変数番号]
     操作→代入
     オペランド→1
    -----
    ↑これのあとに「文章の表示」を行うと、記事内の【文章領域調整用スイッチ:ON / ウィンドウ幅調整用変数:1】の画像と同じ表示になります。

     一時的に使う場合「文章の表示」の直前にこの設定を加え、最後にスイッチをOFF、変数に0を代入すればデフォルトに戻ります。
     ゲーム全体で使う場合は、一番最初(オープニングあたり)に自動実行などで設定しておくとよいと思います。

     以上で説明は終わりますが、
     この素材に関して不明な点がございましたら、遠慮なくこちらのコメント欄にご記入くださいませ。
    2013年10月13日 18:59
  • こうじ

    はじめまして、失礼します。こうじと申します。

    こちらのスクリプトを使用させていただこうと思い、自作ゲームに導入してみたのですが、以下のような現象が起きました。

    条件は、
    ・文章領域調整用スイッチオン
    ・ウィンドウ幅調整用変数1
    ・他のスクリプトなし、新規プロジェクトにて試行
    で、結果としては、

    ・同一イベント中に、①顔なしメッセージを表示、②顔ありメッセージを表示、とすると、②の顔ありメッセージの表示欄まで幅の小さくなったウィンドウが表示されてしまう。

    ・同一イベント中に、①顔ありメッセージを表示、②顔なしメッセージを表示、とすると、②の顔なしメッセージのウィンドウ幅が変化しない。

    というような現象が起こりました。

    イメージとしては、VXサンプルゲームの『レクトールと黒獅子の紋章』のように、スクリプトを導入することによって

    顔ありメッセージの時は幅が広いウィンドウ、顔なしメッセージの時は幅が狭いウィンドウ、

    のように自動的に表示分けがなされるものと思っていたのですが……
    上記の現象は、仕様なのでしょうか?;

    もし、レクトールのような表現が可能であるなら、その方法を教えていただけないでしょうか。

    失礼な申し出とは思いますが、ご対応いただければ幸いです。よろしくお願いします。
    2013年11月03日 15:33
  • SOLA

    >こうじさん
     はじめまして、こんばんは。
     当素材をDL頂きありがとうございます。

     報告された不具合は、こちらでも再現されましたので修正致しました。
     どうやら前回のバージョン更新時にいじった部分が影響していた模様で、完全にこちらの確認ミスです……。
     こうじさんのおっしゃる通り「領域調整をONにしても顔グラフィックありの文章はデフォルトの幅である」のが正しい挙動です。

     ご不便をおかけしまして申し訳ございませんでした。
     バージョン1.0.3に更新の上、素材スクリプト内「◎ ユーザー設定」を設定し直してご利用下さいませ。
    2013年11月04日 11:10
  • こうじ

    失礼します。こうじです。

    素早い対応、ありがとうございました!
    さっそく試してみたところ、レクトールのような表現が可能となりました。ありがとうございます。

    ですが、その代わりにというか、今度はまた別の現象が発生してしまいました……。
    条件は同じで、以下のような現象です。

    ・会話イベントが連続する間に、1つのメッセージが終わり、次のメッセージが始まる時、メッセージウィンドウがいちいち開閉してしまう。

    通常ですと、メッセージが続く場合には、ウィンドウの状態はそのままで、顔グラフィックやメッセージ内容だけが変更されます。

    しかし、スクリプト導入後(スイッチオン、変数1の状態)は、上記のように、ウィンドウごと変更されるようになってしまいます。

    説明が下手で申し訳ありません;

    表現の上で、特別支障があるわけではないのですが、目がチカチカするというか、落ち着きません;
    ご確認いただければと思います。

    スクリプト素材を使わせてもらっている立場でありながら、たびたび注文をつけるようなことを言ってしまい、非常に申し訳ありません。
    自分で対処できれば良いのですが、知識がないためにご迷惑をおかけしています。

    ですが、できればこのような素敵な素材を有効に活用したいと思いますので、ご対応いただければ幸いです。

    よろしくお願いいたします。
    2013年11月04日 13:34
  • SOLA

    >こうじさん
     大変お待たせいたしました。
     返信及び対応が遅れしまったことを重ねてお詫び申し上げます。

     ご報告頂いた「ウィンドウ幅の変更がない場合でもウィンドウが閉じてしまう不具合」を修正致しました。

     概要を簡単に説明しますと、前回のバージョンでは「顔グラフィックがある場合にウィンドウを更新する」だったのを「ウィンドウ幅の変更がある場合にウィンドウを更新する」ようにしたものが今回のバージョンとなります。

     お手数をおかけしますが、バージョン1.0.4に更新の上、素材スクリプト内「◎ ユーザー設定」を設定し直してご利用下さいませ。
     また、何か不具合や不明な点などございましたら遠慮なくお申し付けください。
    (今回に関しても注文ではなく明らかに不具合でしたので、お気になさらず!)

     自分もスクリプトに関しては未熟者ですので、日々精進していきたいと思います。
     最後になりましたが、当素材をご利用頂きありがとうございました。
    2013年12月07日 21:04
  • こうじ

    お久しぶりです。こうじです。
    前回は、こちらの要望に素早く対応してくださり、ありがとうございました。

    その後、満足してこのスクリプト素材を使用させていただいていたのですが、このたび、また新たな問題に直面してしまいました……。

    発生したのは、以下のような症状です。

    ・変数1の状態でテストプレイを行っていると、顔グラフィックありのメッセージウィンドウを表示した際、ウィンドウの右側に、ちょうと顔グラフィックのものと同じくらいの余白が生まれてしまい、文字が最後まで表示されなくなってしまうことがある。

    説明が下手で申し訳ありません;

    常にこの症状が発生するわけではなく、気づくとこのような状態になってしまっています。

    自分なりに原因を色々と探ってみたところ、少なくとも、ショップの処理を挟むと、上記の症状が発生してしまうことは間違いないようです。
    ただ、テストプレイを重ねてみたところ、どうもショップの処理を挟まなくても症状が発生することがあるようなのです。

    加えて、理由は分かりませんが、ショップの処理自体がエラーでできなくなってしまうこともあります(Window_ShopBuyの63行目でNoMethodErrorが発生しました。と表示されて強制終了されてしまいます)。

    どちらの症状も、どの部分が影響して、どのタイミングで発生しているのかが全く分かりません;

    これ以外にスクリプトを使用していない状態でも症状が確認されたので、このスクリプト素材のどこかに原因があるはずだとは思うのですが、私の力量ではそれを見つけることができませんでした…。

    もしよろしければ、対応を検討していただけないでしょうか?

    毎度毎度、注文をつけるばかりで非常に申し訳ないです;;

    ですが、なんとかこちらのスクリプト素材を使用した形で自作ゲームを完成させたいので、どうかご対応のほどよろしくお願いします。

    説明が下手なので、何か意味のわからないところがあれば、出来る限り説明をさせていただきます。
    2014年05月11日 10:49
  • SOLA

    >こうじさん
     こんばんは、SOLAです。
     毎度、詳しい報告をありがとうございます。
     そして、毎度不具合を発生させてしまい申し訳ありません……

     当案件はこちらでも検証及び確認を行い、原因究明に努めます。
     お待たせしてしまいますが、お時間を頂ければと思います。
    2014年05月13日 22:19
  • SOLA

    >こうじさん
     こんばんは、SOLAです。
     ご報告頂いた「文章が正しく表示されない不具合」を修正したスクリプトが完成致しました。

     こちらで検証を行ったところ、ショップだけでなく、メニューを開いても症状が確認されました。

     しかしながら、「Window_ShopBuyの63行目でNoMethodError」が表示されて強制終了してしまう症状が確認できなかったため、今回こちらの対応は行っておりません。
     力量不足でお恥ずかしいですが、もし再度同様の症状が出た場合はご報告下さい。

     なお、今回手を加えた部分は、112~140行目となります。
    ---
    ○ ウィンドウ内容の幅を計算(追加定義 < Window_Base)
     こちらにより、文章が見切れずに表示されるようになります。

    ○ 背景ビットマップの作成(追加定義)
     ウィンドウの背景が黒の時、見切れずに表示されるようになります。
    ---

     毎度ながらお手数をおかけしますが、バージョン1.0.5に更新の上、素材スクリプト内「◎ ユーザー設定」を設定し直してご利用下さいませ。
     また、何か不具合や不明な点などございましたら遠慮なくお申し付けください。

     不具合のご報告ありがとうございました。
    2014年05月28日 00:25
  • ナーラ

    こんにちは、ナーラと申します。
    今回『もちこさん』という脱出ゲームに再度使わせていただきました。
    素晴らしい素材を提供していただき、ありがとうございます。
    2016年01月06日 04:41
  • SOLA

    >ナーラさん
    こんにちは、SOLAです。
    ゲーム完成おめでとうございます!
    そして、利用報告ありがとうございました。
    2016年01月10日 14:35
  • ぬぬ

    顔グラフィックの代わりに、文章内の左端などに歩行グラフィックを入れたいのですが、デフォルトだと空白が大きいので困っていたのですが、このスクリプトで、顔グラフィックの空白のサイズを変えることは可能ですか?
    2016年01月21日 02:00
  • SOLA

    ご質問ありがとうございます。

    当スクリプトの仕様としまして「既存の画面サイズ及び顔グラフィック領域をもとに計算」しております。
    よって、当スクリプトでは顔グラフィック領域の変更はできません。

    以上が返答となります。
    2016年01月23日 16:26

この記事へのトラックバック