| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 0 |  
| 经验 | 16978 |  
| 最后登录 | 2015-12-4 |  
| 在线时间 | 76 小时 |  
 Lv1.梦旅人 
	梦石0 星屑49 在线时间76 小时注册时间2006-7-7帖子194 | 
3楼
 
 
 楼主|
发表于 2009-7-24 12:59:36
|
只看该作者 
| 不是这样吗?复制代码#==============================================================================
# ◎ GPRA_Window_Help
#------------------------------------------------------------------------------
# ◎ 特技及物品的说明、角色的状态显示的窗口加强。
#------------------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:[email protected]
# QQ:42378361
#==============================================================================
class Window_Help_New < Window_Base
 #--------------------------------------------------------------------------
 # ● 初始化对像
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 680, 999)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.opacity =  0##
 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 >= 3
           # 退出循环体
           break
         end
         # 否则l自增1
         l += 2
       end
       # 不是换行符的其他情况
       s[l]=s[l]+c
     end
     # 根据文字的行数进行不同的绘制
     case l
     when 0
       self.contents.font.size = 14
       self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
       self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
     when 1
       self.contents.font.size = 14
       self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
       self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
       self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
     when 2
       self.contents.font.size = 14
       self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
       self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
       self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
       self.contents.draw_text(317, 30, self.width - 40, 32, s[2], align)
     when 3
       self.contents.font.size = 14
       self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
     self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
       self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
       self.contents.draw_text(317, 25, self.width - 40, 32, s[2], align)  
       self.contents.draw_text(317, 35, self.width - 40, 32, s[3], 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
但是提示
   “s[l]=s[l]+c”这行出错
 | 
 |