Project1

标题: 显示文章自动换行 [打印本页]

作者: zh99998    时间: 2008-10-19 19:23
标题: 显示文章自动换行
用于更改对话框大小后难以对齐和懒得手动对齐的人
  1. class Game_Interpreter
  2.   #--------------------------------------------------------------------------
  3.   # ● 显示文章
  4.   #--------------------------------------------------------------------------
  5.   def command_101
  6.     unless $game_message.busy
  7.       $game_message.face_name = @params[0]
  8.       $game_message.face_index = @params[1]
  9.       $game_message.background = @params[2]
  10.       $game_message.position = @params[3]
  11.       @index += 1
  12.       texts = ""
  13.       while @list[@index].code == 401       # 文章数据
  14.         texts += @list[@index].parameters[0]
  15.         @index += 1
  16.       end
  17.       texts = texts.split("\\'")
  18.       $game_message.texts = texts
  19.       if @list[@index].code == 102          # 显示选择项
  20.         setup_choices(@list[@index].parameters)
  21.       elsif @list[@index].code == 103       # 数值输入处理
  22.         setup_num_input(@list[@index].parameters)
  23.       end
  24.       set_message_waiting                   # 设置等待信息结束
  25.     end
  26.     return false
  27.   end
  28. end
  29. class Window_Message < Window_Selectable
  30.   def update_message
  31.     loop do
  32.       c = @text.slice!(/./m)            # 获取一个文字
  33.       new_line if @contents_x + contents.text_size(c).width + 32 > self.width
  34.       case c
  35.       when nil                          # 无法获取文字时
  36.         finish_message                  # 结束文章更新
  37.         break
  38.       when "\x00"                       # 新行
  39.         new_line
  40.         if @line_count >= MAX_LINE      # 当行数已至最大行数
  41.           unless @text.empty?           # 并还有有等待显示的文字时
  42.             self.pause = true           # 等待输入
  43.             break
  44.           end
  45.         end
  46.       when "\x01"                       # \C[n](文字变色)
  47.         @text.sub!(/\[([0-9]+)\]/, "")
  48.         contents.font.color = text_color($1.to_i)
  49.         next
  50.       when "\x02"                       # \G  (显示金钱)
  51.         @gold_window.refresh
  52.         @gold_window.open
  53.       when "\x03"                       # \.  (等待四分之一秒)
  54.         @wait_count = 15
  55.         break
  56.       when "\x04"                       # \|  (等待一秒)
  57.         @wait_count = 60
  58.         break
  59.       when "\x05"                       # \!  (等待输入)
  60.         self.pause = true
  61.         break
  62.       when "\x06"                       # \>  (瞬间表示on)
  63.         @line_show_fast = true
  64.       when "\x07"                       # \<  (瞬间表示off)
  65.         @line_show_fast = false
  66.       when "\x08"                       # \^  (不等待输入)
  67.         @pause_skip = true
  68.       else                              # 一般文字
  69.         contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
  70.         c_width = contents.text_size(c).width
  71.         @contents_x += c_width
  72.       end
  73.       break unless @show_fast or @line_show_fast
  74.     end
  75.   end
  76. end
复制代码

如果需要强制换行输入\'

范例:http://rpg.blue/UP_PIC/200801/显示文章自动换行.rar
作者: 沉影不器    时间: 2008-10-19 19:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2008-10-20 04:03
嘛,fuki没看过,我写这个是为了方便我的640*480窗口
4行问题……对我来说不用考虑……因为编辑器里根本盛不了4行的640*480{/cy}
写对话的时候注意点就是了{/cy}
作者: zh99998    时间: 2008-11-16 05:05
顶起我的被无视的脚本……
作者: 白羽    时间: 2008-12-20 04:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2008-12-21 05:18
呼呼,终于有人发现我的东西了……
作者: CIS狂人    时间: 2008-12-22 02:52
啥也不说了- -所针对的问题脚本我用过....
作者: 八云紫    时间: 2008-12-24 22:04
发布完毕。

VIP += 2;

页面: http://rpg.blue/web/htm/news1227.htm
作者: 043023123    时间: 2009-2-4 06:47
好东西,没有这个之前真是苦了我了,都快成杨白劳了 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『挖坟+灌水』,积分『-10』。这些被扣积分的一半会用于对本帖正确答案的悬赏。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 弱水三分    时间: 2009-2-4 22:01
好东西!
收了
作者: 千past    时间: 2009-2-6 22:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 黑之翅膀    时间: 2010-6-28 20:39
希望可以改自动换行时  可以选用停留的速度和时间   \^    等待帧
   顶一个
作者: winder5k    时间: 2010-7-16 17:38
省去了手动调整的利器啊~~~ 不过对于默认分辨率要注意不要让行数超出……
作者: huahuapro    时间: 2010-9-9 09:38
请问具体怎么用?我纯小白。。。。。。。




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