查看: 1770|回复: 1

[已经过期] 想问下va怎么做出字一个一个冒出来的效果

[复制链接]
梦石
0
星屑
50
在线时间
18 小时
注册时间
2014-11-8
回帖
3
发表于 2016-1-9 14:13:26 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
就是想做出打字一样的一字一字冒出来,还有打字声的效果,有劳各位大神了。

店长

梦石
13
星屑
1282
在线时间
1810 小时
注册时间
2010-10-6
回帖
760

蛤蛤蛤蛤开拓者

发表于 2016-1-9 17:20:25 | 显示全部楼层
[pre lang="ruby" line="1"]#==============================================================================
# ★ RGSS3_メッセージ効果音 Ver1.1
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記 ( http://hikimoki.sakura.ne.jp/)

文章の表示コマンド実行時、文字の表示と一緒に効果音を鳴らします。

制御文字 \B を使って効果音を再生するかどうかを設定できます。
\B が出てくるたびに切り替わりますが AUTO_SE が true の場合は
最初から効果音が鳴る状態になっています。

おまけ機能として文章の表示速度を変更することができます。
设定了游戏变量(初期设定是8号)的数值越大
显示速度越慢。1 是默认速度最低值。

使用游戏变量(初期设定)
  0008
  
2012.01.22  Ver1.1
  おまけ機能の文章表示速度変更を追加
  
2012.01.21  Ver1.0
  公開

=end

#==============================================================================
# □ 设定项目
#==============================================================================
module TMMESSAGESE
  MESSAGE_SE = RPG::SE.new("系统-打字", 50, 100)    # 再生される効果音
  AUTO_SE = true    # true で自動的に再生、false で制御文字があったときのみ再生
  
  VN_MESSAGE_WAIT = 120   # 文章的显示速度处理游戏变量号码
end

#==============================================================================
# ■ Window_Message
#==============================================================================
class Window_Message
  #--------------------------------------------------------------------------
  # ● フラグのクリア
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_clear_flags clear_flags
  def clear_flags
    tmmessagese_window_message_clear_flags
    @se_flag = TMMESSAGESE::AUTO_SE
  end
  #--------------------------------------------------------------------------
  # ● 一文字出力後のウェイト
  #--------------------------------------------------------------------------
  alias tmessagese_window_message_wait_for_one_character wait_for_one_character
  def wait_for_one_character
    [$game_variables[TMMESSAGESE::VN_MESSAGE_WAIT], 1].max.times do |i|
      tmessagese_window_message_wait_for_one_character
    end
  end
  #--------------------------------------------------------------------------
  # ● 通常文字の処理
  #--------------------------------------------------------------------------
  alias tmmessagese_window_message_process_normal_character process_normal_character
  def process_normal_character(c, pos)
    tmmessagese_window_message_process_normal_character(c, pos)
    TMMESSAGESE::MESSAGE_SE.play if @se_flag
  end
  #--------------------------------------------------------------------------
  # ● 制御文字の処理
  #     code : 制御文字の本体部分(「\C[1]」なら「C」)
  #     text : 描画処理中の文字列バッファ(必要なら破壊的に変更)
  #     pos  : 描画位置 {:x, :y, :new_x, :height}
  #--------------------------------------------------------------------------
  alias tmmessage_window_message_process_escape_character process_escape_character
  def process_escape_character(code, text, pos)
    case code.upcase
    when 'B'
      @se_flag ^= true
    else
      tmmessage_window_message_process_escape_character(code, text, pos)
    end
  end
end
[/pre]

点评

刚刚一直在找打印字符的函数...原来是wait_for_one_character QAQ  发表于 2016-1-9 17:27
努力填新坑中!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部