| 
 
| 赞 | 0 |  
| VIP | 313 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 6681 |  
| 最后登录 | 2024-1-20 |  
| 在线时间 | 66 小时 |  
 Lv1.梦旅人 蚂蚁卡卡 
	梦石0 星屑116 在线时间66 小时注册时间2007-12-16帖子3081 | 
| 复制代码#==============================================================================
# ◎ GPRA_Window_Help
#------------------------------------------------------------------------------
# ◎ 特技及物品的说明、角色的状态显示的窗口加强。
#------------------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:[email protected]
# QQ:42378361
#==============================================================================
class Window_Help < Window_Base
 #--------------------------------------------------------------------------
 # ● 初始化对像
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 640, 128)
   self.contents = Bitmap.new(width - 32, height - 32)
 end
 #--------------------------------------------------------------------------
 # ● 设置文本
 #     text  : 窗口显示的字符串
 #     align : 对齐方式
 #--------------------------------------------------------------------------
 def set_text(text, align = 0)
   # 如果文本和对齐方式的至少一方与上次的不同
   if text != @text or align != @align
     # 清空原来的文字内容
     self.contents.clear
     # 设置颜色为默认颜色
     self.contents.font.color = normal_color
     # 定义变量记录文字行数
     l=0
     # 定义数组分别记录每行文字内容
     s=["","",""]
     # 利用临时变量存储text内容
     temp=text.dup
     # 首先处理文本,将"\\n"全部替换成换行符"\n"
     temp.gsub!(/\\n/) { "\n" }
     # c 获取 1 个字 (如果不能取得文字就退出循环)
     while ((c = temp.slice!(/./m)) != nil)
       # 另起一行文字的情况下
       if c == "\n"
         # 当超过3行时(0行开始,所以这里是2)
         if l >= 2
           # 退出循环体
           break
         end
         # 否则l自增1
         l += 1
       end
       # 不是换行符的其他情况
       s[l]=s[l]+c
     end
     # 根据文字的行数进行不同的绘制
     case l
     when 0
       self.contents.draw_text(4, 32, self.width - 40, 32, s[0], align)
     when 1
       self.contents.draw_text(4, 16, self.width - 40, 32, s[0], align)
       self.contents.draw_text(4, 48, self.width - 40, 32, s[1], align)
     when 2
       self.contents.draw_text(4, 0, self.width - 40, 32, s[0], align)
       self.contents.draw_text(4, 32, self.width - 40, 32, s[1], align)
       self.contents.draw_text(4, 64, self.width - 40, 32, s[2], align)
     end
     # 保存此次绘图时的参数值
     @text = text
     @align = align
     @actor = nil
   end
   # 可见状态为真
   self.visible = true
 end
 #--------------------------------------------------------------------------
 # ● 设置角色
 #     actor : 要显示状态的角色
 #--------------------------------------------------------------------------
 def set_actor(actor)
   if actor != @actor
     self.contents.clear
     draw_actor_name(actor, 4, 0)
     draw_actor_state(actor, 140, 0)
     draw_actor_hp(actor, 284, 0)
     draw_actor_sp(actor, 460, 0)
     @actor = actor
     @text = nil
     self.visible = true
   end
 end
 #--------------------------------------------------------------------------
 # ● 设置敌人
 #     enemy : 要显示名字和状态的敌人
 #--------------------------------------------------------------------------
 def set_enemy(enemy)
   text = enemy.name
   state_text = make_battler_state_text(enemy,false)
   if state_text != ""
     text += " " + state_text
   end
   set_text(text, 1)
 end
end
 分行说明 有这个脚本
 发布地址忘了 在说明文字里:比如回复剂 己方单体 HP 回复。\n猪\n猪头
 \n就是换行了
 | 
 |