Project1

标题: 说明文字换行 [打印本页]

作者: 玄月    时间: 2009-5-28 07:19
标题: 说明文字换行
这次弄出来的又是一个囧物,反正可以自定义换行,不过只能换行一次,也就是将文字拆开分两行显示,那啥……要弄个三行的M我就得了,这个脚本插进mian之前应该就没问题了,然后,请确认Help_Window有没有足够的空间显示文字。然后就是这个脚本十分之好用,不过有没有错误未知,至少我自己耍没问题,如果有什么错误就回帖说明吧。
使用方法:在物品、技能、装备的说明文字中使用“@”分割
如 : 【Atk+30】@好剑一把 输出就为
【Atk+30】
好剑一把
- - 好吧,是囧物。
然后脚本被我更新了,以下的字体会因为换行而缩小
  1. #==============================================================================
  2. # 说明文字换行
  3. # 本脚本作者:玄月,使用和转载请保留此信息
  4. #==============================================================================
  5. # ■ Window_Help
  6. #------------------------------------------------------------------------------
  7. #  特技及物品的说明、角色的状态显示的窗口。
  8. #==============================================================================

  9. class Window_Help < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 初始化对像
  12.   #--------------------------------------------------------------------------
  13.   def initialize
  14.     super(0, 0, 640, 64)
  15.     self.contents = Bitmap.new(width - 32, height - 32)
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 设置文本
  19.   #     text  : 窗口显示的字符串
  20.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  21.   #--------------------------------------------------------------------------
  22.   def set_text(text, align = 0)
  23.     # 如果文本和对齐方式的至少一方与上次的不同
  24.     if text != @text or align != @align
  25.       # 再描绘文本
  26.       self.contents.clear
  27.       self.contents.font.color = normal_color
  28.       self.contents.font.size = 16
  29.       self.contents.font.name = ["黑体"]
  30.       if text.split(/@/)[0]&&text.split(/@/)[1]!= nil
  31.       text1 = text.split(/@/)[0]
  32.       text2 = text.split(/@/)[1]
  33.       self.contents.font.size = 14
  34.       self.contents.draw_text(4, 0, self.width - 40, 16, text1, align)
  35.       self.contents.draw_text(10, 16, self.width - 40, 16, text2, align)
  36.       else
  37.       self.contents.font.size = 16
  38.       self.contents.draw_text(4,0, self.width - 40, 32, text, align)
  39.       end
  40.       @text = nil
  41.       @text = nil
  42.       @text = nil
  43.       @align = align
  44.       @actor = nil
  45.     end
  46.     self.visible = true
  47.   end
  48. end
复制代码

然后这个便是窗口会因为字体变大,请使用前先调整好窗口位置
  1. #==============================================================================
  2. # 说明文字换行
  3. # 本脚本作者:玄月,使用和转载请保留此信息
  4. #==============================================================================
  5. # ■ Window_Help
  6. #------------------------------------------------------------------------------
  7. #  特技及物品的说明、角色的状态显示的窗口。
  8. #==============================================================================

  9. class Window_Help < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 初始化对像
  12.   #--------------------------------------------------------------------------
  13.   def initialize
  14.     super(0, 0, 640, 64)
  15.     self.contents = Bitmap.new(width-32, height)
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 设置文本
  19.   #     text  : 窗口显示的字符串
  20.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  21.   #--------------------------------------------------------------------------
  22.   def set_text(text, align = 0)
  23.     # 如果文本和对齐方式的至少一方与上次的不同
  24.     if text != @text or align != @align
  25.       # 再描绘文本
  26.       self.contents.clear
  27.       self.contents.font.color = normal_color
  28.       self.contents.font.size = 18
  29.       self.contents.font.name = ["黑体"]
  30.       if text.split(/@/)[0]&&text.split(/@/)[1]!= nil
  31.       text1 = text.split(/@/)[0]
  32.       text2 = text.split(/@/)[1]
  33.       self.contents.draw_text(4, -4, self.width - 40, 32, text1, align)
  34.       self.contents.draw_text(10, 20, self.width - 40, 32, text2, align)
  35.       self.z = 300
  36.       self.height = 80
  37.       else
  38.       self.contents.draw_text(4,0, self.width - 40, 32, text, align)
  39.       self.height = 64
  40.       end
  41.       @text = nil#text
  42.       @text = nil#text1
  43.       @text = nil#text2
  44.       @align = align
  45.       @actor = nil
  46.     end
  47.     self.visible = true
  48.   end
  49. end
复制代码

作者: 天使喝可乐    时间: 2009-5-28 21:18
好东西..收下..

那啥..窗口会随该脚本而增宽吗?(增到可以显示2行)
作者: 玄月    时间: 2009-5-28 23:08
随着说明文字增宽啊…………好提议,我去试试……
作者: tommay    时间: 2009-5-28 23:12
话说这东西偶写过的,不过不知道丢到那旮旯去了,算了,反正觉得意义不是很大,飘~

顺便:
或许可以加个控制帮助文字颜色的功能,如同对话中的 \C[n]一样。
作者: 玄月    时间: 2009-5-28 23:31
那个啊…………我也是很纠结来着……不过想想还是算了。 - - 因为太麻烦了。
这个文字换行空轨控比较喜欢的撒……




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