赞 | 27 |
VIP | 1 |
好人卡 | 3 |
积分 | 91 |
经验 | 33012 |
最后登录 | 2023-4-30 |
在线时间 | 1860 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 9058
- 在线时间
- 1860 小时
- 注册时间
- 2010-7-18
- 帖子
- 974
|
3楼
楼主 |
发表于 2012-2-13 18:26:31
|
只看该作者
果斷發個RGSS , 不過這是VX的 , 要是能用在XP就好了- module Sound
- # 对话拟声
- def self.play_voice
- Audio.se_play("Audio/SE/对话声", 90, 100)
- end
- end
- class Window_Message < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- alias initialize_carolawyer initialize
- def initialize
- initialize_carolawyer
- @play_voice_count = 0
- end
- #--------------------------------------------------------------------------
- # ● 更新文章显示
- #--------------------------------------------------------------------------
- def update_message
- loop do
- c = @text.slice!(/./m) # 获取一个文字
- case c
- when nil # 无法获取文字时
- finish_message # 结束文章更新
- break
- when "\x00" # 新行
- new_line
- if @line_count >= MAX_LINE # 当行数已至最大行数
- unless @text.empty? # 并还有有等待显示的文字时
- self.pause = true # 等待输入
- break
- end
- end
- when "\x01" # \C[n](文字变色)
- @text.sub!(/\[([0-9]+)\]/, "")
- contents.font.color = text_color($1.to_i)
- next
- when "\x02" # \G (显示金钱)
- @gold_window.refresh
- @gold_window.open
- when "\x03" # \. (等待四分之一秒)
- @wait_count = 15
- break
- when "\x04" # \| (等待一秒)
- @wait_count = 60
- break
- when "\x05" # \! (等待输入)
- self.pause = true
- break
- when "\x06" # \> (瞬间表示on)
- @line_show_fast = true
- when "\x07" # \< (瞬间表示off)
- @line_show_fast = false
- when "\x08" # \^ (不等待输入)
- @pause_skip = true
- else # 一般文字
- contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
- @play_voice_count += 1
- @play_voice_count = 0 if @play_voice_count == 2
- Sound.play_voice if @play_voice_count == 0
- c_width = contents.text_size(c).width
- @contents_x += c_width
- end
- break unless @show_fast or @line_show_fast
- end
- end
- end
复制代码 |
|