Project1

标题: 想问下va怎么做出字一个一个冒出来的效果 [打印本页]

作者: 曹长wllb    时间: 2016-1-9 14:13
标题: 想问下va怎么做出字一个一个冒出来的效果
就是想做出打字一样的一字一字冒出来,还有打字声的效果,有劳各位大神了。
作者: 猪衰衰    时间: 2016-1-9 17:20
RUBY 代码复制
  1. #==============================================================================
  2. # ★ RGSS3_メッセージ効果音 Ver1.1
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. webサイト:ひきも記 ( [url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 文章の表示コマンド実行時、文字の表示と一緒に効果音を鳴らします。
  10.  
  11. 制御文字 \B を使って効果音を再生するかどうかを設定できます。
  12. \B が出てくるたびに切り替わりますが AUTO_SE が true の場合は
  13. 最初から効果音が鳴る状態になっています。
  14.  
  15. おまけ機能として文章の表示速度を変更することができます。
  16. 设定了游戏变量(初期设定是8号)的数值越大
  17. 显示速度越慢。1 是默认速度最低值。
  18.  
  19. 使用游戏变量(初期设定)
  20.   0008
  21.  
  22. 2012.01.22  Ver1.1
  23.   おまけ機能の文章表示速度変更を追加
  24.  
  25. 2012.01.21  Ver1.0
  26.   公開
  27.  
  28. =end
  29.  
  30. #==============================================================================
  31. # □ 设定项目
  32. #==============================================================================
  33. module TMMESSAGESE
  34.   MESSAGE_SE = RPG::SE.new("系统-打字", 50, 100)    # 再生される効果音
  35.   AUTO_SE = true    # true で自動的に再生、false で制御文字があったときのみ再生
  36.  
  37.   VN_MESSAGE_WAIT = 120   # 文章的显示速度处理游戏变量号码
  38. end
  39.  
  40. #==============================================================================
  41. # ■ Window_Message
  42. #==============================================================================
  43. class Window_Message
  44.   #--------------------------------------------------------------------------
  45.   # ● フラグのクリア
  46.   #--------------------------------------------------------------------------
  47.   alias tmmessagese_window_message_clear_flags clear_flags
  48.   def clear_flags
  49.     tmmessagese_window_message_clear_flags
  50.     @se_flag = TMMESSAGESE::AUTO_SE
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 一文字出力後のウェイト
  54.   #--------------------------------------------------------------------------
  55.   alias tmessagese_window_message_wait_for_one_character wait_for_one_character
  56.   def wait_for_one_character
  57.     [$game_variables[TMMESSAGESE::VN_MESSAGE_WAIT], 1].max.times do |i|
  58.       tmessagese_window_message_wait_for_one_character
  59.     end
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 通常文字の処理
  63.   #--------------------------------------------------------------------------
  64.   alias tmmessagese_window_message_process_normal_character process_normal_character
  65.   def process_normal_character(c, pos)
  66.     tmmessagese_window_message_process_normal_character(c, pos)
  67.     TMMESSAGESE::MESSAGE_SE.play if @se_flag
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 制御文字の処理
  71.   #     code : 制御文字の本体部分(「\C[1]」なら「C」)
  72.   #     text : 描画処理中の文字列バッファ(必要なら破壊的に変更)
  73.   #     pos  : 描画位置 {:x, :y, :new_x, :height}
  74.   #--------------------------------------------------------------------------
  75.   alias tmmessage_window_message_process_escape_character process_escape_character
  76.   def process_escape_character(code, text, pos)
  77.     case code.upcase
  78.     when 'B'
  79.       @se_flag ^= true
  80.     else
  81.       tmmessage_window_message_process_escape_character(code, text, pos)
  82.     end
  83.   end
  84. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1