VXace[RGSS3] 「文章の表示」のメッセージスピードを変数で操作したいです!

みるく
記事: 26
登録日時: 2017年7月15日(土) 01:05

VXace[RGSS3] 「文章の表示」のメッセージスピードを変数で操作したいです!

投稿記事by みるく » 2017年11月22日(水) 19:38

最近、めっきり寒くなってきて風邪など引いておりませんか??
おばんです。(*'ω'*)みるくです。

今回、助けてほしいと思い、トピ立てさせていただきます!


VXaceの、「文章の表示」で流れるメッセージを、
時と場合によって

早くしたり 遅くしたり

したいです(>_<)
それも、変数でコントロールしたいのです(>_<;)

ある変数(例えば 変数99番)が
「0」の時は、デフォルトの速度で!
変数99番が「1」「2」と数が増えていくに従い、メッセージは早くなる。
逆に、-1、-2、-3・・・みたいに減っていくと、メッセージが遅くなる。

みたいな仕組みのスクリプトがあったらいいなと思うのですが、
これは難しいでしょうか??

制御文字を入れてっては、カクカクしてしまうので、
変数で一括操作したいのです。

もしよければ腕に自信のあるスクリプト制作者様!
造ってはいただけないでしょうか!?


ツクールのデフォのメッセージスピードは「早い!」と感じる人もいれば「遅い!」と感じる人もいるので、
この変数で操作できるメッセージスピードスクリプトがあれば、きっとたくさんの人が使ってくれると思います!!

ヨロシクオネガイシマス!((+_+))

faida
記事: 209
登録日時: 2015年12月17日(木) 16:44

Re: VXace[RGSS3] 「文章の表示」のメッセージスピードを変数で操作したいです!

投稿記事by faida » 2017年11月22日(水) 23:36

こんばんは。

まず理論から説明いたしますと、「メッセージが1文字表示されるたびに1フレームのウェイトがある」
というのがデフォルトの仕様です。
つまりこれをいじるとき、「メッセージが2文字表示されるたびに1フレームのウェイト」、または
「メッセージが1文字表示されるたびに2フレームのウェイト」という風に、
どちらかをいじることしかできません。つまりn倍、または1/n倍といういじり方しかできません。
別にそれをもう少し細かくいじることは不可能ではありませんが、表現上微妙なので勘弁してください。

コード: 全て選択

=begin
◆概要
変数の数値でメッセージスピードが変わります。

◆機能
・変数が+1, +2, ...になるとメッセージ表示スピードが2倍, 3倍, ...になります。
・変数が-1, -2, ...になるとメッセージ表示スピードが1/2倍, 1/3倍, ...になります。

◆仕様
・特に無し。

◆使用上の注意
・●……再定義

◆作者:faida @faida3983

◆更新履歴
ver1.0 : 公開

=end

# 設定項目:メッセージスピードを制御する変数ID
FAI_MSPEED_VARID = 99

#==============================================================================
# ■ Window_Message
#==============================================================================

class Window_Message < Window_Base
  #--------------------------------------------------------------------------
  # ● 一文字出力後のウェイト
  #--------------------------------------------------------------------------
  def wait_for_one_character
    update_show_fast
    unless @show_fast || @line_show_fast
      @yield_count ||= 0
      if $game_variables[FAI_MSPEED_VARID] <= 0
        ($game_variables[FAI_MSPEED_VARID] - 1).abs.times{ Fiber.yield }
      else
        @yield_count -= 1 if @yield_count > 0
        if @yield_count == 0
          @yield_count = $game_variables[FAI_MSPEED_VARID] + 1
          Fiber.yield
        end
      end
    end
  end
end
まぁでも、テストしてみたところ意外と上手くいったのでこれはこれでアリな気がします。
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
みるく
記事: 26
登録日時: 2017年7月15日(土) 01:05

Re: VXace[RGSS3] 「文章の表示」のメッセージスピードを変数で操作したいです!

投稿記事by みるく » 2017年11月23日(木) 00:03

faidaさま

こんばんは!

わーすごいすごーい(*'▽')

これはすごいスクリプトですね!!

これがあればせっかちな人も慎重な人も皆喜ぶと思います(*´з`)

最高なスクリプトを しかもこんなすぐに

ありがとうございました!!!!!!!

:D :D :D

皆様にもめちゃおすすめです!
(≧◇≦)

“VX / Ace:スクリプト素材のリクエスト” へ戻る