设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1869|回复: 5
打印 上一主题 下一主题

请问如何减缓对话速度

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2006-5-19
帖子
69
跳转到指定楼层
1
发表于 2008-5-16 04:46:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
搜索了一下貌似只有XP有相关的脚本,请问VX怎样能减缓对话速度,默认的对话速度有点过快了。
版务信息:本贴由楼主自主结贴~
近期生活状况: 震不死人晃死人,晃不死人吓死人; 吓不死人困死人,困不死人累死人; 累不死人跑死人。 比地震可怕的是余震, 比余震可怕的是预报余震, 比预报余震更可怕的是预报了余震却一直不震~
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

2
发表于 2008-5-16 05:01:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2006-5-19
帖子
69
3
 楼主| 发表于 2008-5-16 05:20:41 | 只看该作者
我用的是这个加强对话框的脚本

  1. #=begin
  2. #superufo版加强对话框
  3. #新增功能:
  4. #1.\h[X]:更改字号为X(X〈32)
  5. #2.\o[X]:更改透明度为X(模拟悄悄话?)
  6. #3.\u[XXXXXX]:直接以十六进制指定颜色
  7. #4.\i[X]:显示X号物品名
  8. #5.\s[X]:显示X号技能名
  9. #6.\w[X]:显示X号武器名
  10. #7.\a[X]:显示X号防具名
  11. #加上原有功能
  12. #8.\c[X]:将颜色调整为X(0〈=X〈=15)
  13. #9.\n[X]:显示X号同伴名
  14. #10.\v[X]:显示X号变量
  15. #11.\g:显示金钱窗口
  16. #12.\.:停滞1/4秒
  17. #13.\|:停滞1秒
  18. #14.\!:等待输入???
  19. #15.\>:开启瞬间输入
  20. #16.\<:关闭瞬间输入
  21. #17.\^:等待输入的无???
  22. #18.\\:显示“\”这个符号
  23. #就是全部参数
  24. #=end
  25. class Window_Message < Window_Selectable

  26.   MAX_LINE = 4                           

  27.   def initialize
  28.     super(0, 288, 544, 128)
  29.     self.z = 200
  30.     self.active = false
  31.     self.index = -1
  32.     self.openness = 0
  33.     @opening = false           
  34.     @closing = false           
  35.     @text = nil                 
  36.     @contents_x = 0           
  37.     @contents_y = 0         
  38.     @line_count = 0           
  39.     @wait_count = 0            
  40.     @background = 0            
  41.     @position = 2            
  42.     @show_fast = true        
  43.     @line_show_fast = false     
  44.     @pause_skip = false      
  45.     create_gold_window
  46.     create_number_input_window
  47.     create_back_sprite
  48.   end

  49.   def dispose
  50.     super
  51.     dispose_gold_window
  52.     dispose_number_input_window
  53.     dispose_back_sprite
  54.   end

  55.   def update
  56.     super
  57.     update_gold_window
  58.     update_number_input_window
  59.     update_back_sprite
  60.     update_show_fast
  61.     unless @opening or @closing        
  62.       if @wait_count > 0                  
  63.         @wait_count -= 1
  64.       elsif self.pause                     
  65.         input_pause
  66.       elsif self.active                    
  67.         input_choice
  68.       elsif @number_input_window.visible   
  69.         input_number
  70.       elsif @text != nil                  
  71.         update_message                     
  72.       elsif continue?                     
  73.         start_message                        
  74.         open                                
  75.         $game_message.visible = true
  76.       else                              
  77.         close                              
  78.         $game_message.visible = @closing
  79.       end
  80.     end
  81.   end

  82.   def create_gold_window
  83.     @gold_window = Window_Gold.new(384, 0)
  84.     @gold_window.openness = 0
  85.   end

  86.   def create_number_input_window
  87.     @number_input_window = Window_NumberInput.new
  88.     @number_input_window.visible = false
  89.   end

  90.   def create_back_sprite
  91.     @back_sprite = Sprite.new
  92.     @back_sprite.bitmap = Cache.system("MessageBack")
  93.     @back_sprite.visible = (@background == 1)
  94.     @back_sprite.z = 190
  95.   end

  96.   def dispose_gold_window
  97.     @gold_window.dispose
  98.   end

  99.   def dispose_number_input_window
  100.     @number_input_window.dispose
  101.   end

  102.   def dispose_back_sprite
  103.     @back_sprite.dispose
  104.   end

  105.   def update_gold_window
  106.     @gold_window.update
  107.   end

  108.   def update_number_input_window
  109.     @number_input_window.update
  110.   end

  111.   def update_back_sprite
  112.     @back_sprite.visible = (@background == 1)
  113.     @back_sprite.y = y - 16
  114.     @back_sprite.opacity = openness
  115.     @back_sprite.update
  116.   end

  117.   def update_show_fast
  118.     if self.pause or self.openness < 255
  119.       @show_fast = false
  120.     elsif Input.trigger?(Input::C) and @wait_count < 2
  121.       @show_fast = true
  122.     elsif not Input.press?(Input::C)
  123.       @show_fast = false
  124.     end
  125.     if @show_fast and @wait_count > 0
  126.       @wait_count -= 1
  127.     end
  128.   end

  129.   def continue?
  130.     return true if $game_message.num_input_variable_id > 0
  131.     return false if $game_message.texts.empty?
  132.     if self.openness > 0 and not $game_temp.in_battle
  133.       return false if @background != $game_message.background
  134.       return false if @position != $game_message.position
  135.     end
  136.     return true
  137.   end

  138.   def start_message
  139.     @text = ""
  140.     for i in 0...$game_message.texts.size
  141.       @text += "  " if i >= $game_message.choice_start
  142.       @text += $game_message.texts[i].clone + "\x00"
  143.     end
  144.     @item_max = $game_message.choice_max
  145.     convert_special_characters
  146.     reset_window
  147.     new_page
  148.   end

  149.   def new_page
  150.     contents.clear
  151.     if $game_message.face_name.empty?
  152.       @contents_x = 0
  153.     else
  154.       name = $game_message.face_name
  155.       index = $game_message.face_index
  156.       draw_face(name, index, 0, 0)
  157.       @contents_x = 112
  158.     end
  159.     @contents_y = 0
  160.     @line_count = 0
  161.     @show_fast = false
  162.     @line_show_fast = false
  163.     @pause_skip = false
  164.     contents.font.color = text_color(0)
  165.   end

  166.   def new_line
  167.     if $game_message.face_name.empty?
  168.       @contents_x = 0
  169.     else
  170.       @contents_x = 112
  171.     end
  172.     @contents_y += WLH
  173.     @line_count += 1
  174.     @line_show_fast = false
  175.   end

  176.   def convert_special_characters
  177.     @text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  178.     @text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  179.     @text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
  180.     @text.gsub!(/\\I\[([0-9]+)\]/i) { $data_items[$1.to_i].name }
  181.     @text.gsub!(/\\S\[([0-9]+)\]/i) { $data_skills[$1.to_i].name }
  182.     @text.gsub!(/\\W\[([0-9]+)\]/i) { $data_weapons[$1.to_i].name }
  183.     @text.gsub!(/\\A\[([0-9]+)\]/i) { $data_armors[$1.to_i].name }
  184.     @text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
  185.     @text.gsub!(/\\G/)              { "\x02" }
  186.     @text.gsub!(/\\\./)             { "\x03" }
  187.     @text.gsub!(/\\\|/)             { "\x04" }
  188.     @text.gsub!(/\\!/)              { "\x05" }
  189.     @text.gsub!(/\\>/)              { "\x06" }
  190.     @text.gsub!(/\\</)              { "\x07" }
  191.     @text.gsub!(/\\\^/)             { "\x08" }
  192.     @text.gsub!(/\\O\[([0-9]+)\]/i) { "\x09[#{$1}]" }
  193.     @text.gsub!(/\\H\[([0-9]+)\]/i) { "\x10[#{$1}]" }
  194.     @text.gsub!(/\\U\[([0-9A-Fa-f]{6})\]/) { "\x11[#{$1}]" }
  195.     @text.gsub!(/\\\\/)             { "\\" }
  196.   end

  197.   def reset_window
  198.     @background = $game_message.background
  199.     @position = $game_message.position
  200.     if @background == 0   
  201.       self.opacity = 255
  202.     else                 
  203.       self.opacity = 0
  204.     end
  205.     case @position
  206.     when 0
  207.       self.y = 0
  208.       @gold_window.y = 360
  209.     when 1  
  210.       self.y = 144
  211.       @gold_window.y = 0
  212.     when 2  
  213.       self.y = 288
  214.       @gold_window.y = 0
  215.     end
  216.   end

  217. def update_message
  218.     loop do
  219.       c = @text.slice!(/./m)            # 获取下次文字
  220.       case c
  221.       when nil                          # 没有描画的文字
  222.         finish_message                  # 结束更新
  223.         break
  224.       when "\x00"                       # 换行
  225.         new_line
  226.         if @line_count >= MAX_LINE      # 行数是最大时
  227.           unless @text.empty?           # 仍然继续的情况下
  228.             self.pause = true           # 等待输入
  229.             break
  230.           end
  231.         end
  232.       when "\x01"                       # \C[n]  (更改文字色)
  233.         @text.sub!(/\[([0-9]+)\]/, "")
  234.         contents.font.color = text_color($1.to_i)
  235.         next
  236.       when "\x02"                       # \G  (显示所持金)
  237.         @gold_window.refresh
  238.         @gold_window.open
  239.       when "\x03"                       # \.  (等待 1/4 秒)
  240.         @wait_count = 15
  241.         break
  242.       when "\x04"                       # \|  (等待 1 秒)
  243.         @wait_count = 60
  244.         break
  245.       when "\x05"                       # \!  (等待输入)
  246.         self.pause = true
  247.         break
  248.       when "\x06"                       # \>  (瞬间表示 ON)
  249.         @line_show_fast = true
  250.       when "\x07"                       # \<  (瞬间表示 OFF)
  251.         @line_show_fast = false
  252.       when "\x08"                       # \^  (不等待输入)
  253.         @pause_skip = true
  254. # ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★
  255.       when "\x09"                       # \S[n]  (这个是我加上描绘技能)
  256.         @text.sub!(/\[([0-9]+)\]/, "")
  257.         item = $data_skills[$1.to_i]
  258.         draw_item_name(item, @contents_x, @contents_y)
  259.         @contents_x += 24 + contents.text_size(item.name).width
  260.       when "\x10"                       # \I[n]  (这个是我加上描绘物品)
  261.         @text.sub!(/\[([0-9]+)\]/, "")
  262.         item = $data_items[$1.to_i]
  263.         draw_item_name(item, @contents_x, @contents_y)
  264.         @contents_x += 24 + contents.text_size(item.name).width
  265. # ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★# ★
  266.       else                              # 普通的文字
  267.         contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
  268.         c_width = contents.text_size(c).width
  269.         @contents_x += c_width
  270.       end
  271.       break unless @show_fast or @line_show_fast
  272.     end
  273.   end
  274.   def finish_message
  275.     if $game_message.choice_max > 0
  276.       start_choice
  277.     elsif $game_message.num_input_variable_id > 0
  278.       start_number_input
  279.     elsif @pause_skip
  280.       terminate_message
  281.     else
  282.       self.pause = true
  283.     end
  284.     @wait_count = 40
  285.     @text = nil
  286.   end

  287.   def start_choice
  288.     self.active = true
  289.     self.index = 0
  290.   end

  291.   def start_number_input
  292.     digits_max = $game_message.num_input_digits_max
  293.     number = $game_variables[$game_message.num_input_variable_id]
  294.     @number_input_window.digits_max = digits_max
  295.     @number_input_window.number = number
  296.     if $game_message.face_name.empty?
  297.       @number_input_window.x = x
  298.     else
  299.       @number_input_window.x = x + 112
  300.     end
  301.     @number_input_window.y = y + @contents_y
  302.     @number_input_window.active = true
  303.     @number_input_window.visible = true
  304.     @number_input_window.update
  305.   end

  306.   def update_cursor
  307.     if @index >= 0
  308.       x = $game_message.face_name.empty? ? 0 : 112
  309.       y = ($game_message.choice_start + @index) * WLH
  310.       self.cursor_rect.set(x, y, contents.width - x, WLH)
  311.     else
  312.       self.cursor_rect.empty
  313.     end
  314.   end

  315.   def input_pause
  316.     if Input.trigger?(Input::B) or Input.trigger?(Input::C)
  317.       self.pause = false
  318.       if @text != nil and not @text.empty?
  319.         new_page if @line_count >= MAX_LINE
  320.       else
  321.         terminate_message
  322.       end
  323.     end
  324.   end

  325.   def input_choice
  326.     if Input.trigger?(Input::B)
  327.       if $game_message.choice_cancel_type > 0
  328.         Sound.play_cancel
  329.         $game_message.choice_proc.call($game_message.choice_cancel_type - 1)
  330.         terminate_message
  331.       end
  332.     elsif Input.trigger?(Input::C)
  333.       Sound.play_decision
  334.       $game_message.choice_proc.call(self.index)
  335.       terminate_message
  336.     end
  337.   end

  338.   def input_number
  339.     if Input.trigger?(Input::C)
  340.       Sound.play_decision
  341.       $game_variables[$game_message.num_input_variable_id] =
  342.         @number_input_window.number
  343.       $game_map.need_refresh = true
  344.       terminate_message
  345.     end
  346.   end
  347. end
复制代码


我改了貌似没用啊
近期生活状况: 震不死人晃死人,晃不死人吓死人; 吓不死人困死人,困不死人累死人; 累不死人跑死人。 比地震可怕的是余震, 比余震可怕的是预报余震, 比预报余震更可怕的是预报了余震却一直不震~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2006-5-21
帖子
773
4
发表于 2008-5-16 18:46:31 | 只看该作者
#12.\.:停滞1/4秒
#13.\|:停滞1秒
这里不有么.插入\.之类就可以了
MadniMStudio|Beside
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

5
发表于 2008-5-16 18:56:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2006-5-19
帖子
69
6
 楼主| 发表于 2008-5-16 21:56:54 | 只看该作者
谢谢,可以了!是我自己修改错了!{/tp}
近期生活状况: 震不死人晃死人,晃不死人吓死人; 吓不死人困死人,困不死人累死人; 累不死人跑死人。 比地震可怕的是余震, 比余震可怕的是预报余震, 比预报余震更可怕的是预报了余震却一直不震~
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-26 09:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表