| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 2149 | 
 
| 最后登录 | 2021-2-24 | 
 
| 在线时间 | 55 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 55 
 
        - 在线时间
 - 55 小时
 
        - 注册时间
 - 2011-7-15
 
        - 帖子
 - 48
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
- #==============================================================================
 
 - # [VX] 漫画式对话框
 
 - # [VX] ComicStyle Window_message
 
 - #----------------------------------------------------------------------------
 
 - # 使用说明:
 
 - #
 
 - #   ⑴ 关于对话者 (在地图事件里找到对话者,实现漫画式对话)
 
 - #      ① 自动抓取对话者名字
 
 - #           对于未进行手动填写的,会根据头像的文件名自动抓取对话者名字
 
 - #      ② 手动指定对话者名字
 
 - #           对话框第一行输入引号内文字"名字:",脚本会把名字提取出来美化显示
 
 - #           例如"拉尔夫:",显示为"【拉尔夫】" ,美化符可在参数设定中修改
 
 - #           可以使用"\n[队伍第几人]:"获得名字
 
 - #      ③ 允许指定事件(对话者)ID
 
 - #      ④ 允许暂时停止自动抓取名字
 
 - #      ⑤ 允许设定跳过自动抓取名字的头像文件
 
 - #      ⑥ 三种指定对话者的方法可以共存
 
 - #           优先级: ③ > ② > ①
 
 - #           ①和②都必须以对话者名字为地图事件命名
 
 - #           事件页无效或暂时消除事件时,③仍然强制指定,即使地图上未显示事件
 
 - #
 
 - #   ⑵ 默认头像在左边显示
 
 - #        当您需要右边显示时,在第一行加"\r"(大小写不限,位置不限)
 
 - #        例: "拉尔夫\r:" 请注意此时头像显示为水平翻转
 
 - #
 
 - #   ⑶ 对话框动态显示功能,但缩放Sprite较消耗系统资源
 
 - #
 
 - #   ⑷ 使用自定义皮肤, 图片文件保存于Graphics\System内
 
 - #                      配置文件保存于游戏文件夹内(Skin.ini)
 
 - #
 
 - #
 
 - #   ⑸ 在对话中更改字体:
 
 - #        \f[sX]:更改字号为X
 
 - #        \f[nX]:更改字体为X
 
 - #               更改字体失败(找不到字体)时,启用默认字体
 
 - #        \f[cX]:更改字色为第X号颜色(text_color中的定义)
 
 - #
 
 - #   ⑹ 在对话中显示(技能 物品 武器 防具)图标和名称:
 
 - #        \s[X]: 显示第X号技能图标和名称
 
 - #        \i[X]: 显示第X号物品图标和名称
 
 - #        \w[X]: 显示第X号武器图标和名称
 
 - #        \a[X]: 显示第X号防具图标和名称
 
 - #
 
 - #   ⑺ 在对话中更改文字不透明度:
 
 - #        \o[X]: 把文字不透明度更改为X (取值范围在0~255)
 
 - #
 
 - #   ⑻ 在对话中指定时间后自动关闭对话框:
 
 - #        \x[X]: 对话框将在X帧后自动关闭
 
 - #        \x:    省略参数时,将于默认帧数后自动关闭(默认值在参数设定中)
 
 - #
 
 - #   ⑼ 在对话中调整文字显示速度:
 
 - #        \p[X]: 文字在X帧后显示
 
 - #
 
 - #   ⑽ 指定对话框在人物上方或下方(仅下一段文章有效):
 
 - #        在对话前用"事件脚本"输入: ComicStyle "对话框在上"
 
 - #                              或: ComicStyle "对话框在下"
 
 - #
 
 - #   ⑾ 禁用漫画式对话(仅下一段文章有效):
 
 - #        在对话前用"事件脚本"输入: ComicStyle "禁用漫画式"
 
 - #
 
 - #   ⑿ 停止自动抓取名字(仅下一段文章有效):
 
 - #        在对话前用"事件脚本"输入: ComicStyle "禁用自动名字"
 
 - #
 
 - #   ⒀ 指定事件(对话者)ID(仅下一段文章有效):
 
 - #        在对话前用"事件脚本"输入: ComicStyle "指定事件[ID号]"
 
 - #        主角ID号已设定为 0
 
 - #
 
 - #   ⒁ 指定新的皮肤:
 
 - #        在对话前用"事件脚本"输入: ComicStyle "换皮肤[新的皮肤名]"
 
 - #
 
 - #   ⒂ 指定背景不透明度:
 
 - #        在对话前用"事件脚本"输入: ComicStyle "背景不透明度[0-255]"
 
 - #
 
 - #   ⒃ 输入文章时设定冻结字符和注释字符:
 
 - #        #[XX]: 字符串XX被冻结,不受转义等影响直接显示
 
 - #               此功能可用于第一行显示冒号而不会被脚本误识别为对话者名字
 
 - #        #<XX>: 字符串XX被当作注释,游戏运行时不会出现
 
 - #------------------------------------------------------------------------------
 
 - # 素材规格:
 
 - #
 
 - #   ⑴ 采用vx默认头像素材(Graphics\Faces)的格式
 
 - #      即每个素材文件由2行4列共8格头像组成
 
 - #
 
 - #   ⑵ 所有头像朝向一致,默认是正面偏右
 
 - #
 
 - #   ⑶ 自定义皮肤有两个必须文件:
 
 - #       ① 皮肤图片(Graphics\System),规格请看范例所附图片说明
 
 - #       ② 配置文件,统一保存在游戏目录下,命名为Skin.ini,每个皮肤以自身
 
 - #          [皮肤图片文件名](包含[])开头,详见范例使用的Skin.ini
 
 - #----------------------------------------------------------------------------
 
 - #    更新作者: 沉影不器
 
 - #    许可协议: FSL
 
 - #    项目版本: 2.00.1213
 
 - #    引用网址: http://rpg.blue/thread-86073-1-1.html
 
 - #----------------------------------------------------------------------------
 
 - #    - *2.1.1213* (2011-12-13) By 沉影不器
 
 - #      *新增 切换对话框模式(漫画式 \ 普通模式)
 
 - #      *新增 对话框最小宽度和最小高度
 
 - #      *新增 手动指定对话者名字
 
 - #      *新增 允许首行名字被冻结或被注释
 
 - #      *新增 对话者名字启用\n[X]
 
 - #      *删简 删除对冒号的补偿转义
 
 - #
 
 - #    - *2.0.0213* (2011-02-13) By 沉影不器
 
 - #      *优化 全部代码重写
 
 - #      *优化 自动提取对话者名字功能
 
 - #      *优化 两次字符串转义处理合并为一次
 
 - #      *优化 改进窗体大小计算,增加行高逐行计算
 
 - #      *修改 头像在右的控制符改为"\r"(大小写不限)
 
 - #      *新增 自定义对话框皮肤
 
 - #      *新增 自定义对话框暂停标记
 
 - #      *新增 对话框皮肤不透明度
 
 - #      *新增 对话者名字自动美化
 
 - #      *新增 对话中修改字体名称、字号和透明度,失败时使用默认字体
 
 - #      *新增 显示数据库各种图标及名称
 
 - #      *新增 允许不受转义影响的字符串
 
 - #      *新增 对话中播放动画和心情
 
 - #      *新增 自动关闭对话框
 
 - #
 
 - #    - *1.1.0517* (2008-05-17) By 沉影不器
 
 - #      *修复 消除数值输入影响头像坐标
 
 - #      *修复 头像微调错位
 
 - #      *新增 附加功能2项
 
 - #      *新增 游戏中更改对话框设定多项
 
 - #      *优化 对话框箭头图标上下独立
 
 - #      *优化 无意义的代码
 
 - #
 
 - #    - *1.0.0510* (2008-05-10) By 沉影不器
 
 - #      *初版
 
 - #==============================================================================
 
 - $fscript = {} if $fscript == nil
 
 - $fscript["ComicStyle_Window_message"] = "2.1.1213"
 
 - #----------------------------------------------------------------------------
 
 - # ▼ 通用配置模块
 
 - #----------------------------------------------------------------------------
 
 - module FSL
 
 -   module ComicStyle_Window_message
 
 -     
 
 -     ## 全局
 
 -     FastShow = false           ## 是否确定键快速显示文字
 
 -     Actional = true            ## 是否动态显示对话框
 
 -     AutoClose = 90             ## 默认自动关闭时间(单位:帧)
 
 -     TypeDelay = 2              ## 改变全局打字延时(单位:帧)
 
 -     LineSpace = 2              ## 文字的行间距
 
 -     SkipName = []              ## 跳过自动抓取名字的头像文件
 
 -     
 
 -     ## 窗体
 
 -     Window_MinWidth = 96       ## 对话框最小宽度
 
 -     Window_MinHeight = 24      ## 对话框最小高度
 
 -     Window_DefWidth = 0        ## 对话框默认宽度(非漫画式时)
 
 -     Window_DefHeight = 0       ## 对话框默认高度(非漫画式时)
 
 -     Window_MaxLine = 5         ## 对话框最大行数
 
 -     
 
 -     ## 自定义暂停标记
 
 -     Pause_Custom = 3           ## 位置(0:禁用 1:底边居中 2:右下角 3:跟随文字)
 
 -     Pause_AniDelay = 8         ## 动画帧间隔(影响动画速度,单位:帧)
 
 -     
 
 -     ## 皮肤
 
 -     Skin_Name = "Default"      ## 对话框皮肤文件名
 
 -     Skin_Opacity = 200         ## 皮肤的不透明度
 
 -     
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # □ INI
 
 - #==============================================================================
 
 - module FSL
 
 -   module ComicStyle_Window_message
 
 -     module_function
 
 -     #--------------------------------------------------------------------------
 
 -     # ○ 常量
 
 -     #--------------------------------------------------------------------------
 
 -     RdINI = Win32API.new("kernel32","GetPrivateProfileStringA","pppplp","l")
 
 -     WtINI = Win32API.new("kernel32","WritePrivateProfileStringA","pppp","l")
 
 -     M2W   = Win32API.new("kernel32","MultiByteToWideChar","ilpipi","l")
 
 -     W2M   = Win32API.new("kernel32","WideCharToMultiByte","ilpipipp","l")
 
 -     #--------------------------------------------------------------------------
 
 -     # ○ 读取配置
 
 -     #--------------------------------------------------------------------------
 
 -     def readini(app_name, key_name)
 
 -       buff = "\0" * 256
 
 -       RdINI.call(app_name,key_name,"",buff,buff.size,"./Skin.ini")
 
 -       buff.delete!("\0")
 
 -       return a2u(buff)
 
 -     end
 
 -     #--------------------------------------------------------------------------
 
 -     # ○ 保存配置
 
 -     #--------------------------------------------------------------------------
 
 -     def writeini(app_name, key_name, value)
 
 -       WtINI.call(app_name,key_name,u2a(value),"./Skin.ini")
 
 -     end
 
 -     #--------------------------------------------------------------------------
 
 -     # ○ ASCII转UTF8
 
 -     #--------------------------------------------------------------------------
 
 -     def a2u(str)
 
 -       len = M2W.call(0,0,str,-1,nil,0)
 
 -       buf = "\0" * (len*2)
 
 -       M2W.call(0,0,str,-1,buf,buf.size/2)
 
 -       len = W2M.call(0xFDE9,0,buf,-1,nil,0,nil,nil)
 
 -       ret = "\0" * len
 
 -       W2M.call(0xFDE9,0,buf,-1,ret,ret.size,nil,nil)
 
 -       return ret.delete!("\0")
 
 -     end
 
 -     #--------------------------------------------------------------------------
 
 -     # ○ UTF8转ASCII
 
 -     #--------------------------------------------------------------------------
 
 -     def u2a(str)
 
 -       len = M2W.call(0xFDE9,0,str,-1,nil,0)
 
 -       buf = "\0" * (len*2)
 
 -       M2W.call(0xFDE9,0,str,-1,buf,buf.size/2)
 
 -       len = W2M.call(0,0,buf,-1,nil,0,nil,nil)
 
 -       ret = "\0" * len
 
 -       W2M.call(0,0,buf,-1,ret,ret.size,nil,nil)
 
 -       return ret.delete!("\0")
 
 -     end
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Bitmap
 
 - #==============================================================================
 
 - class Bitmap
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 平铺 
 
 -   #--------------------------------------------------------------------------
 
 -   def tile(dest_rect, src_bitmap, src_rect, opacity = 255)
 
 -     m = dest_rect.width / src_rect.width
 
 -     n = dest_rect.height / src_rect.height
 
 -     m += 1 if dest_rect.width % src_rect.width > 0
 
 -     n += 1 if dest_rect.height % src_rect.height > 0
 
 -     buf = Bitmap.new(dest_rect.width, dest_rect.height)
 
 -     for i in 0...m
 
 -       x = src_rect.width * i
 
 -       for j in 0...n
 
 -         y = src_rect.height * j
 
 -         buf.blt(x, y, src_bitmap, src_rect)
 
 -       end
 
 -     end
 
 -     src_rect = Rect.new(0, 0, dest_rect.width, dest_rect.height)
 
 -     self.blt(dest_rect.x, dest_rect.y, buf, src_rect, opacity)
 
 -     buf.dispose
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Message
 
 - #==============================================================================
 
 - class Game_Message
 
 -   include FSL::ComicStyle_Window_message
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 定义实例变量
 
 -   #--------------------------------------------------------------------------
 
 -   ## 标题
 
 -   attr_accessor :title_symbol      ## 为名字添加的修饰符(一对)
 
 -   attr_accessor :title_spaceh      ## 名字与对话内容之间的附加距离
 
 -   attr_accessor :title_fontname    ## 名字使用的字体
 
 -   attr_accessor :title_fontsize    ## 名字使用的字号
 
 -   attr_accessor :title_fontcolor   ## 名字使用的字体颜色
 
 -   ## 内容
 
 -   attr_accessor :content_fontname  ## 对话内容使用的字体
 
 -   attr_accessor :content_fontsize      ## 对话内容使用的字号
 
 -   attr_accessor :content_fontcolor ## 对话内容使用的字体颜色
 
 -   ## 头像
 
 -   attr_accessor :face_type         ## 头像制式(0:小头像 1:半身像)
 
 -   attr_accessor :face_indentx      ## 头像横坐标微调
 
 -   attr_accessor :face_indenty      ## 头像纵坐标微调
 
 -   attr_accessor :face_reserved     ## 头像的保留空间(与对话文字的保留间隔)
 
 -   ## 皮肤
 
 -   attr_accessor :skin_pauseframe   ## 暂停标记的动画帧数(1-5)
 
 -   attr_accessor :skin_pausex       ## 暂停标记的x坐标微调
 
 -   attr_accessor :skin_pausey       ## 暂停标记的y坐标微调
 
 -   attr_accessor :skin_indent       ## 对话框内缩(用于减小框与文字的边距)
 
 -   attr_accessor :skin_namegauge    ## 增加名字条和上边框的间距
 
 -   attr_accessor :skin_adjarrow     ## 漫画式箭头横向偏移值
 
 -   attr_accessor :skin_adjtx        ## 名字背景条横向偏移值
 
 -   attr_accessor :skin_adjty        ## 名字背景条纵向偏移值
 
 -   attr_accessor :skin_et           ## 名字背景条高度加成值
 
 -   attr_accessor :skin_it           ## 名字背景条横向内缩值
 
 -   attr_accessor :skin_ib           ## 皮肤背景内缩值
 
 -                                    ##   请参考vx帮助文件-素材规格-窗口皮肤
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 设定参数
 
 -   #--------------------------------------------------------------------------
 
 -   def set_arg(app_name)
 
 -     @title_symbol = readini(app_name, "Title_Symbol")
 
 -     @title_spaceh = readini(app_name, "Title_SpaceH").to_i
 
 -     @title_fontname = readini(app_name, "Title_FontName")
 
 -     @title_fontsize = readini(app_name, "Title_FontSize").to_i
 
 -     @title_fontcolor = readini(app_name, "Title_FontColor").to_i
 
 -     @content_fontname = readini(app_name, "Content_FontName")
 
 -     @content_fontsize = readini(app_name, "Content_FontSize").to_i
 
 -     @content_fontcolor = readini(app_name, "Content_FontColor").to_i
 
 -     @face_type = readini(app_name, "Face_Type").to_i
 
 -     @face_indentx = readini(app_name, "Face_IndentX").to_i
 
 -     @face_indenty = readini(app_name, "Face_IndentY").to_i
 
 -     @face_reserved = readini(app_name, "Face_Reserved").to_i    
 
 -     @skin_pauseframe = readini(app_name, "Skin_PauseFrame").to_i
 
 -     @skin_pausex = readini(app_name, "Skin_PauseX").to_i
 
 -     @skin_pausey = readini(app_name, "Skin_PauseY").to_i
 
 -     @skin_indent = readini(app_name, "Skin_Indent").to_i
 
 -     @skin_namegauge = readini(app_name, "Skin_NameGauge").to_i
 
 -     @skin_adjarrow = readini(app_name, "Skin_AdjArrow").to_i
 
 -     @skin_adjtx = readini(app_name, "Skin_AdjTx").to_i
 
 -     @skin_adjty = readini(app_name, "Skin_AdjTy").to_i
 
 -     @skin_et = readini(app_name, "Skin_ET").to_i
 
 -     @skin_it = readini(app_name, "Skin_IT").to_i
 
 -     @skin_ib = readini(app_name, "Skin_IB").to_i
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Event
 
 - #==============================================================================
 
 - class Game_Event < Game_Character
 
 -   attr_reader   :erased                 ## 被擦除
 
 -   attr_reader   :page                   ## 事件页
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 获取名称
 
 -   #--------------------------------------------------------------------------
 
 -   def name
 
 -     return @event.name
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Interpreter
 
 - #==============================================================================
 
 - class Game_Interpreter
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 漫画式开关
 
 -   #--------------------------------------------------------------------------
 
 -   def ComicStyle(str)
 
 -     msg_win = $scene.instance_variable_get :@message_window
 
 -     ## 直接匹配
 
 -     msg_win.instance_variable_set :@fix_type, 2 if str =~ /对话框在上/
 
 -     msg_win.instance_variable_set :@fix_type, 8 if str =~ /对话框在下/
 
 -     msg_win.instance_variable_set :@comic_style, false if str =~ /禁用漫画式/
 
 -     msg_win.instance_variable_set :@auto_name, false if str =~ /禁用自动名字/
 
 -     ## 待解释
 
 -     str.sub(/换皮肤\[(\S+)\]/) {"#{$1}"}
 
 -     msg_win.set_skin($1) if $1
 
 -     str.sub(/指定事件\[(\d+)\]/) {"#{$1}"}
 
 -     msg_win.instance_variable_set :@target_id, $1.to_i if $1
 
 -     str.sub(/背景不透明度\[(\d+)\]/) {"#{$1}"}
 
 -     msg_win.instance_variable_set :@skin_opacity, $1.to_i if $1
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Sprite_Character
 
 - #==============================================================================
 
 - class Sprite_Character < Sprite_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 开始显示心情图标
 
 -   #--------------------------------------------------------------------------
 
 -   def start_balloon
 
 -     dispose_balloon
 
 -     @balloon_duration = 8 * 8 + BALLOON_WAIT
 
 -     @balloon_sprite = ::Sprite.new##(viewport)
 
 -     @balloon_sprite.bitmap = Cache.system("Balloon")
 
 -     @balloon_sprite.ox = 16
 
 -     @balloon_sprite.oy = 32
 
 -     update_balloon
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # □ Spriteset_Skin
 
 - #==============================================================================
 
 - class Spriteset_Skin
 
 -   include FSL::ComicStyle_Window_message
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 实例变量
 
 -   #--------------------------------------------------------------------------
 
 -   attr_reader   :type                   ## 指定上箭头或下箭头
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 初始化
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(filename, width, height, type = 2)
 
 -     @type =type
 
 -     @bitmap = Cache.system(filename)
 
 -     @main_sprite = Sprite.new
 
 -     @main_sprite.bitmap = Bitmap.new(width, height + 32)
 
 -     draw_skin(width, height + 32)
 
 -     if Actional
 
 -       @main_sprite.zoom_x = @main_sprite.zoom_y = 0
 
 -       self.visible = false
 
 -     else
 
 -       @main_sprite.zoom_x = @main_sprite.zoom_y = 1
 
 -       self.visible = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 释放
 
 -   #--------------------------------------------------------------------------
 
 -   def dispose
 
 -     @main_sprite.bitmap.dispose
 
 -     @main_sprite.dispose
 
 -     @sprite_2.bitmap.dispose
 
 -     @sprite_8.bitmap.dispose
 
 -     @sprite_2.dispose
 
 -     @sprite_8.dispose
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def width
 
 -     return @main_sprite.bitmap.width
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 高度
 
 -   #--------------------------------------------------------------------------
 
 -   def height
 
 -     return @main_sprite.bitmap.height
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ X原点
 
 -   #--------------------------------------------------------------------------
 
 -   def ox
 
 -     return @main_sprite.ox
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ Y原点
 
 -   #--------------------------------------------------------------------------
 
 -   def oy
 
 -     return @main_sprite.oy
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ X坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def x
 
 -     return @main_sprite.x
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ Y坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def y
 
 -     return @main_sprite.y
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ Z坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def z
 
 -     return @main_sprite.z
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 修改X坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def x=(val)
 
 -     @main_sprite.x = val
 
 -     @sprite_2.x = val - @main_sprite.ox + 16
 
 -     @sprite_8.x = val - @main_sprite.ox + 16
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 修改Y坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def y=(val)
 
 -     @main_sprite.y = val
 
 -     @sprite_2.y = val - @main_sprite.oy + @main_sprite.height - 32
 
 -     @sprite_8.y = val - @main_sprite.oy
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 修改Z坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def z=(val)
 
 -     @main_sprite.z = val
 
 -     @sprite_2.z = val + 1
 
 -     @sprite_8.z = val + 1
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 修改可视性
 
 -   #--------------------------------------------------------------------------
 
 -   def visible=(val)
 
 -     @main_sprite.visible = val
 
 -     @sprite_2.visible = val
 
 -     @sprite_8.visible = val
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 更改类型
 
 -   #--------------------------------------------------------------------------
 
 -   def type=(val)
 
 -     if @type != val
 
 -       @type = val
 
 -       @sprite_8.src_rect.x,@sprite_2.src_rect.x = 
 
 -       @sprite_2.src_rect.x,@sprite_8.src_rect.x
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 修改不透明度
 
 -   #--------------------------------------------------------------------------
 
 -   def opacity=(val)
 
 -     @main_sprite.opacity = val
 
 -     @sprite_2.opacity = val
 
 -     @sprite_8.opacity = val
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 显示标题
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_title(height)
 
 -     x = $game_message.skin_it + $game_message.skin_adjtx
 
 -     y = $game_message.skin_adjty + 32 - $game_message.skin_indent + $game_message.skin_namegauge
 
 -     width = @main_sprite.width - $game_message.skin_it*2
 
 -     dst_rect = Rect.new(x, y, width, height + $game_message.skin_et)
 
 -     src_rect = Rect.new(96,80,24,32)
 
 -     @main_sprite.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     dst_rect = Rect.new(x, y, width, height + $game_message.skin_et)
 
 -     src_rect = Rect.new(120,80,24,32)
 
 -     @main_sprite.bitmap.tile(dst_rect, @bitmap, src_rect)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 描绘底面
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_skin(width, height)
 
 -     ## 背景
 
 -     dst_rect = Rect.new($game_message.skin_ib,$game_message.skin_ib+16,width-$game_message.skin_ib*2,height-$game_message.skin_ib*2-32)
 
 -     src_rect = Rect.new(0,0,64,64)
 
 -     @main_sprite.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     src_rect = Rect.new(0,64,64,64)
 
 -     @main_sprite.bitmap.tile(dst_rect, @bitmap, src_rect)
 
 -     ## 四角
 
 -     src_rect = Rect.new(64,16,16,16)
 
 -     @main_sprite.bitmap.blt(0, 16, @bitmap, src_rect)
 
 -     src_rect = Rect.new(128,16,16,16)
 
 -     @main_sprite.bitmap.blt(width-16, 16, @bitmap, src_rect)
 
 -     src_rect = Rect.new(64,48,16,16)
 
 -     @main_sprite.bitmap.blt(0, height-32, @bitmap, src_rect)
 
 -     src_rect = Rect.new(128,48,16,16)
 
 -     @main_sprite.bitmap.blt(width-16, height-32, @bitmap, src_rect)
 
 -     ## 左右边框
 
 -     dst_rect=Rect.new(0,32,16,height-64)
 
 -     src_rect=Rect.new(64,32,16,16)
 
 -     @main_sprite.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     dst_rect=Rect.new(width-16,32,16,height-64)
 
 -     src_rect=Rect.new(128,32,16,16)
 
 -     @main_sprite.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     ## 箭头(上下框)
 
 -     draw_arrow(width-32, height)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 描绘箭头
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_arrow(width, height)
 
 -     @sprite_2 = Sprite.new
 
 -     @sprite_8 = Sprite.new
 
 -     @sprite_2.bitmap = Bitmap.new(width*2+16, 32)
 
 -     @sprite_8.bitmap = Bitmap.new(width*2+16, 32)
 
 -     ##2
 
 -     dst_rect=Rect.new(0, 0, width, 32)
 
 -     src_rect=Rect.new(80,48,16,32)
 
 -     @sprite_2.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     dst_rect=Rect.new(width+16,0,width, 32)
 
 -     src_rect=Rect.new(112,48,16,32)
 
 -     @sprite_2.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     src_rect=Rect.new(96,48,16,32)
 
 -     @sprite_2.bitmap.blt(width, 0, @bitmap, src_rect)
 
 -     ## 8
 
 -     dst_rect=Rect.new(0, 0, width, 32)
 
 -     src_rect=Rect.new(80,0,16,32)
 
 -     @sprite_8.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     dst_rect=Rect.new(width+16,0,width, 32)
 
 -     src_rect=Rect.new(112,0,16,32)
 
 -     @sprite_8.bitmap.stretch_blt(dst_rect, @bitmap, src_rect)
 
 -     src_rect=Rect.new(96,0,16,32)
 
 -     @sprite_8.bitmap.blt(width, 0, @bitmap, src_rect)
 
 -     ## 位图区域
 
 -     @sprite_2.src_rect = @sprite_8.src_rect = Rect.new(0,0,width,32)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 移动箭头
 
 -   #--------------------------------------------------------------------------
 
 -   def slide(val)
 
 -     ## 微调 + 箭头宽度/2
 
 -     val += $game_message.skin_adjarrow + 8
 
 -     val = [@main_sprite.width-32, [@main_sprite.width-val, 16].max].min
 
 -     @sprite_2.src_rect.x = val if @type == 2
 
 -     @sprite_8.src_rect.x = val if @type == 8
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 动作
 
 -   #--------------------------------------------------------------------------
 
 -   def action(openness)
 
 -     case @type
 
 -     when 2
 
 -       @main_sprite.ox = width - @sprite_2.src_rect.x - 8
 
 -       @main_sprite.oy = @main_sprite.height - 16
 
 -     when 8
 
 -       @main_sprite.ox = width - @sprite_8.src_rect.x - 8
 
 -       @main_sprite.oy = 16
 
 -     when nil
 
 -       @main_sprite.ox = @main_sprite.width / 2
 
 -       @main_sprite.oy = @main_sprite.height / 2
 
 -     end
 
 -     zoom = openness / 255.0
 
 -     @main_sprite.zoom_x = zoom
 
 -     @main_sprite.zoom_y = zoom
 
 -     if openness == 255
 
 -       self.visible = true
 
 -       ## 还原
 
 -       if @backup
 
 -         @main_sprite.bitmap.clear_rect(16, 0, width-32, 32)
 
 -         @main_sprite.bitmap.clear_rect(16, height-32, width-32, 32)
 
 -         @main_sprite.bitmap.blt(16, 0, @backup, Rect.new(0,0,width-32,32))
 
 -         @main_sprite.bitmap.blt(16, height-32, @backup, Rect.new(0,32,width-32,32))
 
 -         @backup.dispose
 
 -       end
 
 -     else
 
 -       @main_sprite.visible = true
 
 -       @sprite_2.visible = @sprite_8.visible = false
 
 -       ## 临时描绘
 
 -       unless @backup
 
 -         @backup = Bitmap.new(width-32,64)
 
 -         r = Rect.new(16, 0, width-32, 32)
 
 -         @backup.blt(0, 0, @main_sprite.bitmap, r)
 
 -         r = Rect.new(16, height-32, width-32, 32)
 
 -         @backup.blt(0, 32, @main_sprite.bitmap, r)
 
 -         @main_sprite.bitmap.blt(16, 0, @sprite_8.bitmap, @sprite_8.src_rect)
 
 -         @main_sprite.bitmap.blt(16, height-32, @sprite_2.bitmap, @sprite_2.src_rect)
 
 -       end
 
 -     end
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Window_Selectable
 
 - #==============================================================================
 
 - class Window_Selectable < Window_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新画面
 
 -   #--------------------------------------------------------------------------
 
 -   alias selectable_update update
 
 - end
 
  
- #==============================================================================
 
 - # ■ Window_NumberInput
 
 - #==============================================================================
 
 - class Window_NumberInput < Window_Base
 
 -   include FSL::ComicStyle_Window_message
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 刷新
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     self.contents.clear
 
 -     self.contents.font.color = normal_color
 
 -     s = sprintf("%0*d", @digits_max, @number)
 
 -     h = self.contents.font.size + LineSpace
 
 -     for i in 0...@digits_max
 
 -       self.contents.draw_text(24 + i * h, 0, h, h, s[i,1], 1)
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新光标
 
 -   #--------------------------------------------------------------------------
 
 -   def update_cursor
 
 -     h = self.contents.font.size + LineSpace
 
 -     self.cursor_rect.set(24 + @index * h, 0, h, h)
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # □ Window_ComicStyle
 
 - #==============================================================================
 
 - class Window_ComicStyle < Window_Message
 
 -   include FSL::ComicStyle_Window_message
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 初始化对象
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super
 
 -     self.opacity = 0
 
 -     ## 冻结字符池
 
 -     @frozen_char = []
 
 -     ## 头像右判断
 
 -     @show_right = false
 
 -     ## 指定上下型
 
 -     @fix_type = 0
 
 -     ## 自定义暂停标记
 
 -     @custom_pause = false
 
 -     ## 本行最大高度
 
 -     @line_maxh = []
 
 -     ## 漫画式标志
 
 -     @comic_style = true
 
 -     ## 手动输入名字
 
 -     @auto_name = true
 
 -     ## 指定事件ID
 
 -     @target_id = nil
 
 -     ## 设定系统窗体的皮肤
 
 -     set_skin(Skin_Name)
 
 -     ## 修改默认字体
 
 -     contents.font = default_font
 
 -     ## 皮肤不透明度
 
 -     @skin_opacity = Skin_Opacity
 
 -     ## 生成头像
 
 -     create_face_sprite
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 设定皮肤
 
 -   #--------------------------------------------------------------------------
 
 -   def set_skin(skin_name)
 
 -     ## 名字
 
 -     @skin_name = skin_name
 
 -     ## 参数
 
 -     $game_message.set_arg(skin_name)
 
 -     ## 选择框
 
 -     src_bitmap = Cache.system @skin_name
 
 -     src_rect = Rect.new(64, 80, 32, 32)
 
 -     new_skin = self.windowskin.clone
 
 -     new_skin.blt(64, 64, src_bitmap, src_rect)
 
 -     @number_input_window.windowskin = self.windowskin = new_skin
 
 -     ## 字体
 
 -     @number_input_window.contents.font = @gold_window.contents.font = default_font
 
 -     ## 暂停标记
 
 -     create_pause_sprite
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新画面
 
 -   #--------------------------------------------------------------------------
 
 -   def update
 
 -     selectable_update
 
 -     update_gold_window
 
 -     update_number_input_window
 
 -     update_back_sprite
 
 -     update_show_fast
 
 -     ## 更新自定义暂停标记
 
 -     update_pause_sprite
 
 -     unless @opening or @closing             # 除窗体关闭以外
 
 -       if @wait_count > 0                    # 文章内等待中
 
 -         @wait_count -= 1
 
 -       elsif @custom_pause                   # 等待文章翻页待机中
 
 -         input_pause
 
 -       elsif self.active                     ## 正在输入选择项
 
 -         input_choice
 
 -       elsif @number_input_window.visible    # 正在输入数值
 
 -         input_number
 
 -       elsif @text != nil                    # 还有剩余的文章
 
 -         update_message                        # 更新消息
 
 -       elsif continue?                       # 继续的情况
 
 -         start_message                       # 开始消息
 
 -         ## 更新窗体坐标
 
 -         update_window_pos
 
 -         open                                  # 打开窗体
 
 -         $game_message.visible = true
 
 -       else                                  # 不继续的情况
 
 -         close                                 # 关闭窗体
 
 -         $game_message.visible = @closing
 
 -       end
 
 -       ## 更新窗体坐标
 
 -       update_window_pos
 
 -     end
 
 -     ## 自动关闭对话框
 
 -     if @auto_close != nil
 
 -       if @auto_close > 0
 
 -         @auto_close -= 1
 
 -       else
 
 -         terminate_message
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新快速显示标志
 
 -   #--------------------------------------------------------------------------
 
 -   def update_show_fast
 
 -     if @custom_pause or self.openness < 255
 
 -       @show_fast = false
 
 -     elsif Input.trigger?(Input::C)
 
 -       if FastShow ## 快速显示文字
 
 -         @show_fast = true
 
 -         @wait_count = 0
 
 -       end
 
 -     elsif not Input.press?(Input::C)
 
 -       @show_fast = false
 
 -     end
 
 -     if @show_fast and @wait_count > 0
 
 -       @wait_count -= 1
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 开始显示消息
 
 -   #--------------------------------------------------------------------------
 
 -   def start_message
 
 -     @text = ""
 
 -     ## 回避无文章的情况
 
 -     unless $game_message.texts.empty?
 
 -       ## 暂存消息
 
 -       tmp_texts = []
 
 -       $game_message.texts.each{|text| tmp_texts.push text.clone}
 
 -       ## 特定字符预处理
 
 -       tmp_texts[0].gsub!(/#\[(.*?)\]/)   { @frozen_char.push($1); "\xff" }
 
 -       tmp_texts[0].gsub!(/#\<(.*?)\>/)   { "" }
 
 -       tmp_texts[0].gsub!(/\\N\[(\d+)\]/i){ $game_actors[$1.to_i].name }
 
 -       ## 判断头像朝向
 
 -       @show_right = tmp_texts[0].sub!(/\\R/i){""} != nil
 
 -       ## 处理名字
 
 -       if tmp_texts[0].sub!(/[::]/){""} 
 
 -         ## 手动输入
 
 -         unless tmp_texts[0].sub("\xff\]"){""}.empty?
 
 -           @name = tmp_texts[0].clone
 
 -         end
 
 -       end
 
 -       if @auto_name and show_face? and @name.nil?
 
 -         ## 自动抓取
 
 -         unless SkipName.include? $game_message.face_name
 
 -           @name = $game_message.face_name
 
 -           tmp_texts.unshift @name
 
 -           $game_message.choice_start += 1
 
 -         end
 
 -       end
 
 -       ## 名字美化
 
 -       if show_name?
 
 -         ## 去冒号加修饰符(可选)
 
 -         unless $game_message.title_symbol.empty?
 
 -           size = $game_message.title_symbol.size/2
 
 -           tmp_texts[0] = $game_message.title_symbol[0, size] +
 
 -           tmp_texts[0] + $game_message.title_symbol[size, size]
 
 -         end
 
 -         ## 设定文字颜色
 
 -         tmp_texts[0] = "\\C[#{$game_message.title_fontcolor}]" +
 
 -         tmp_texts[0] + "\\C[#{$game_message.content_fontcolor}]"
 
 -         ## 设定文字字体
 
 -         tmp_texts[0] = "\\F[N#{$game_message.title_fontname}]" +
 
 -         tmp_texts[0] + "\\F[N#{$game_message.content_fontname}]"
 
 -         ## 设定文字大小
 
 -         tmp_texts[0] = "\\F[S#{$game_message.title_fontsize}]" +
 
 -         tmp_texts[0] + "\\F[S#{$game_message.content_fontsize}]"
 
 -         ## 内容缩进
 
 -         for i in 1...tmp_texts.size
 
 -           tmp_texts[i] = " " + tmp_texts[i]
 
 -         end
 
 -       end
 
 -       for i in 0...tmp_texts.size
 
 -         @text += "  " if i >= $game_message.choice_start
 
 -         @text += tmp_texts[i].clone + "\x00"
 
 -       end
 
 -     end
 
 -     @item_max = $game_message.choice_max
 
 -     get_target
 
 -     convert_special_characters
 
 -     new_page #条件:@show_right
 
 -     ## 重设窗体背景与位置
 
 -     reset_window(*get_window_size) #条件:@text @name
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更换页面处理
 
 -   #--------------------------------------------------------------------------
 
 -   def new_page
 
 -     contents.clear
 
 -     ## 初始化文字描绘起点
 
 -     @contents_x = 0
 
 -     if show_face?
 
 -       refresh_face_sprite
 
 -       ## 计算文字横坐标起始
 
 -       @contents_x += face_width + $game_message.face_reserved unless @show_right
 
 -     else
 
 -       @face_sprite.bitmap.clear
 
 -     end
 
 -     @contents_y = 0
 
 -     @line_count = 0
 
 -     @show_fast = false
 
 -     @line_show_fast = false
 
 -     @pause_skip = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 换行处理 
 
 -   #--------------------------------------------------------------------------
 
 -   def new_line
 
 -     ## 提前处理自定义暂停标记
 
 -     set_pause_sprite_pos
 
 -     @contents_x = 0
 
 -     if show_face? and !@show_right
 
 -       @contents_x = face_width + $game_message.face_reserved
 
 -     end
 
 -     @contents_y += @line_maxh[@line_count]
 
 -     @line_count += 1
 
 -     @line_show_fast = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 特殊文字变换
 
 -   #--------------------------------------------------------------------------
 
 -   def convert_special_characters
 
 -     ## 特定字符处理
 
 -     @text.gsub!(/#\[(.*?)\]/)    {@frozen_char.push($1); "\xff"}
 
 -     @text.gsub!(/#\<(.*?)\>/)    {""}
 
 -     ## 更改不透明度
 
 -     @text.gsub!(/\\O\[(\d+)\]/i) {"\x09[#{$1}]"}
 
 -     ## 显示数据库元素
 
 -     @text.gsub!(/\\S\[(\d+)\]/i) {"\x0a[#{$1}]" + $data_skills[$1.to_i].name}
 
 -     @text.gsub!(/\\I\[(\d+)\]/i) {"\x0b[#{$1}]" + $data_items[$1.to_i].name}
 
 -     @text.gsub!(/\\W\[(\d+)\]/i) {"\x0c[#{$1}]" + $data_weapons[$1.to_i].name}
 
 -     @text.gsub!(/\\A\[(\d+)\]/i) {"\x0d[#{$1}]" + $data_armors[$1.to_i].name}
 
 -     ## 更改字体
 
 -     @text.gsub!(/\\F\[S(\d+)\]/i){"\x0e[#{$1}]"}
 
 -     @text.gsub!(/\\F\[N(.+?)\]/i){"\x0f[#{$1}]"}
 
 -     @text.gsub!(/\\F\[C(\d+)\]/i){"\x01[#{$1}]"}
 
 -     ## 字速控制
 
 -     @text.gsub!(/\\P\[(\d+)\]/i) {"\x10[#{$1}]"}
 
 -     ## 自动关闭
 
 -     @text.gsub!(/\\X\[(\d+)\]/i) {"\x11[#{$1}]"}
 
 -     @text.gsub!(/\\X/i)          {"\x12"}
 
 -     ## 提取动画对象和 ID
 
 -     @text.gsub!(/\\A\[(\S+)\,(\d+)\]/i) {"\x13[#{$1},#{$2}]"}
 
 -     @text.gsub!(/\\B\[(\S+)\,(\d+)\]/i) {"\x14[#{$1},#{$2}]"}
 
 -     super
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 设置窗体背景与位置
 
 -   #--------------------------------------------------------------------------
 
 -   def reset_window(width = nil, height = nil)
 
 -     unless width.nil? || height.nil?
 
 -       self.width = width
 
 -       self.height = height
 
 -       font = self.contents.font.clone
 
 -       self.contents.dispose
 
 -       self.contents = Bitmap.new(width - 32, height - 32)
 
 -       ## 修改默认字体
 
 -       contents.font = font
 
 -       ## 坐标
 
 -       if comic_style?
 
 -         if @target.x < visual_width / 2
 
 -           self.x = -$game_message.skin_indent
 
 -         elsif @target.x > Graphics.width - visual_width / 2
 
 -           self.x = Graphics.width - visual_width - $game_message.skin_indent
 
 -         else
 
 -           self.x = @target.x - visual_width / 2
 
 -         end
 
 -         if @target.y < visual_height
 
 -           self.y = @target.y - $game_message.skin_indent
 
 -           type = 8
 
 -         else
 
 -           self.y = @target.y - @target.height - self.height + $game_message.skin_indent 
 
 -           type = 2
 
 -         end
 
 -         ## 修复名字条预留
 
 -         self.y += $game_message.skin_namegauge if show_name? and type == 8
 
 -       else
 
 -         self.x = (Graphics.width - self.width) / 2 
 
 -         case $game_message.position
 
 -         when 0  # 上
 
 -           self.y = visual_height-self.height
 
 -           @gold_window.y = 360
 
 -         when 1  # 中
 
 -           self.y = (Graphics.height - self.height) / 2
 
 -           @gold_window.y = 0
 
 -         when 2  # 下
 
 -           self.y = $game_message.skin_indent + Graphics.height - self.height 
 
 -           @gold_window.y = 0
 
 -         end
 
 -       end
 
 -       ## 皮肤
 
 -       create_skin_sprite(width, height, type)
 
 -       @skin_sprite.draw_title(self.contents.font.size) if show_name?
 
 -       @skin_sprite.x = self.x + $game_message.skin_indent + @skin_sprite.ox
 
 -       @skin_sprite.y = self.y + $game_message.skin_indent - 16 + @skin_sprite.oy
 
 -       @skin_sprite.y -= $game_message.skin_namegauge if show_name?
 
 -       @skin_sprite.opacity = @skin_opacity
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 更新窗体坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def update_window_pos
 
 -     return unless self.openness == 255 or Actional
 
 -     return unless comic_style?
 
 -     return unless @skin_sprite
 
 -     ## 超出屏幕时
 
 -     unless within_screen_range?(@target)
 
 -       self.x = (Graphics.width - self.width) / 2 
 
 -       case $game_message.position
 
 -       when 0  # 上
 
 -         self.y = 0
 
 -         @gold_window.y = 360
 
 -       when 1  # 中
 
 -         self.y = (Graphics.height - self.height) / 2
 
 -         @gold_window.y = 0
 
 -       when 2  # 下
 
 -         self.y = $game_message.skin_indent + Graphics.height - self.height 
 
 -         @gold_window.y = 0
 
 -       end
 
 -       ## 取消箭头
 
 -       @skin_sprite.slide(0)
 
 -       return
 
 -     end
 
 -     ## 指定上下型
 
 -     @skin_sprite.type = @fix_type if @fix_type != 0
 
 -     ## 处理X
 
 -     if @target.x < visual_width / 2
 
 -       self.x = -$game_message.skin_indent
 
 -     elsif @target.x > Graphics.width - visual_width / 2
 
 -       self.x = Graphics.width - visual_width - $game_message.skin_indent
 
 -     else
 
 -       self.x = @target.x - visual_width / 2
 
 -     end
 
 -     ## 处理Y
 
 -     case @skin_sprite.type
 
 -     when 2
 
 -       if @target.y < visual_height + @target.height
 
 -         self.y = @target.y - $game_message.skin_indent
 
 -         type = 8
 
 -       else
 
 -         self.y = @target.y - @target.height - self.height + $game_message.skin_indent 
 
 -       end
 
 -     when 8
 
 -       if @target.y < visual_height
 
 -         self.y = @target.y - $game_message.skin_indent
 
 -       elsif @target.y > Graphics.height - self.height - $game_message.skin_indent
 
 -         self.y = @target.y - @target.height - self.height + $game_message.skin_indent 
 
 -         type = 2
 
 -       else
 
 -         self.y = @target.y - $game_message.skin_indent
 
 -       end
 
 -     end
 
 -     ## 修改上下型
 
 -     @skin_sprite.type = type if @skin_sprite and type
 
 -     ## 修复名字条预留
 
 -     self.y += $game_message.skin_namegauge if show_name? and @skin_sprite.type == 8
 
 -     ## 皮肤箭头
 
 -     val = @target.x - self.x - $game_message.skin_indent
 
 -     if @skin_sprite
 
 -       @skin_sprite.slide(val)
 
 -       @skin_sprite.x = self.x + $game_message.skin_indent + @skin_sprite.ox
 
 -       @skin_sprite.y = self.y + $game_message.skin_indent - 16 + @skin_sprite.oy
 
 -       @skin_sprite.y -= $game_message.skin_namegauge if show_name?
 
 -     end
 
 -     ## 金钱窗体
 
 -     @gold_window.y = self.y > @gold_window.height ? 0 : 360
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 消息结束
 
 -   #--------------------------------------------------------------------------
 
 -   def terminate_message
 
 -     @fix_type = 0
 
 -     @custom_pause = false
 
 -     @auto_close = nil
 
 -     @name = nil
 
 -     @face_sprite.visible = false if @face_sprite
 
 -     @skin_sprite.dispose
 
 -     @skin_sprite = nil
 
 -     @comic_style = true
 
 -     @auto_name = true
 
 -     @target_id = nil
 
 -     super
 
 -     close
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 消息更新结束
 
 -   #--------------------------------------------------------------------------
 
 -   def finish_message
 
 -     if $game_message.choice_max > 0
 
 -       start_choice
 
 -     elsif $game_message.num_input_variable_id > 0
 
 -       start_number_input
 
 -     elsif @pause_skip
 
 -       terminate_message
 
 -     else
 
 -       @custom_pause = true
 
 -     end
 
 -     @wait_count = 10
 
 -     @text = nil
 
 -     @speed = nil
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新消息
 
 -   #--------------------------------------------------------------------------
 
 -   def update_message
 
 -     loop do
 
 -       c = @text.slice!(/./m)            # 获取下一条文字
 
 -       case c
 
 -       when nil                          # 没有可以显示的文字
 
 -         finish_message                  # 更新结束
 
 -         break
 
 -       when "\x00"                       # 换行
 
 -         new_line
 
 -         if @line_count >= Window_MaxLine# 行数为最大时
 
 -           unless @text.empty?           # 如果还有增加则继续
 
 -             ## 暂停
 
 -             @custom_pause = true        # 等待输入
 
 -             break
 
 -           end
 
 -         end
 
 -       when "\x01"                       # \C[n]  (更改文字色)
 
 -         @text.sub!(/\[([0-9]+)\]/, "")
 
 -         contents.font.color = text_color($1.to_i)
 
 -         next
 
 -       when "\x02"                       # \G  (显示所持金)
 
 -         @gold_window.refresh
 
 -         @gold_window.open
 
 -       when "\x03"                       # \.  (等待 1/4 秒)
 
 -         @wait_count = 15
 
 -         break
 
 -       when "\x04"                       # \|  (等待 1 秒)
 
 -         @wait_count = 60
 
 -         break
 
 -       when "\x05"                       # \!  (等待输入)
 
 -         @custom_pause = true
 
 -         break
 
 -       when "\x06"                       # \>  (瞬间显示 ON)
 
 -         @line_show_fast = true
 
 -       when "\x07"                       # \<  (瞬间显示 OFF)
 
 -         @line_show_fast = false
 
 -       when "\x08"                       # \^  (不等待输入)
 
 -         @pause_skip = true
 
 -       ## 更改不透明度的情况下
 
 -       when "\x09"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         contents.font.color.alpha = $1.to_i
 
 -       ## 显示技能情况下
 
 -       when "\x0a"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         draw_icon($data_skills[$1.to_i].icon_index, @contents_x, @contents_y)
 
 -         ## 横坐标增加图标宽度
 
 -         @contents_x += 24
 
 -       ## 显示物品情况下
 
 -       when "\x0b"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         draw_icon($data_items[$1.to_i].icon_index, @contents_x, @contents_y)
 
 -         ## 横坐标增加图标宽度
 
 -         @contents_x += 24
 
 -       ## 显示武器情况下
 
 -       when "\x0c"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         draw_icon($data_weapons[$1.to_i].icon_index, @contents_x, @contents_y)
 
 -         ## 横坐标增加图标宽度
 
 -         @contents_x += 24
 
 -       ## 显示防具情况下
 
 -       when "\x0d"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         draw_icon($data_armors[$1.to_i].icon_index, @contents_x, @contents_y)
 
 -         ## 横坐标增加图标宽度
 
 -         @contents_x += 24
 
 -       ## 更改字体的情况下
 
 -       when "\x0e"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         contents.font.size = $1.to_i
 
 -       when "\x0f"
 
 -         @text.sub!(/\[(.+?)\]/, "")
 
 -         contents.font.name = Font.exist?($1) ? $1 : Font.default_name
 
 -       ## \P[n] (字速)
 
 -       when "\x10"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         ## 获取字体显示速度
 
 -         @speed = $1.to_i
 
 -       ## 自动关闭对话框的情况下
 
 -       when "\x11"
 
 -         @text.sub!(/\[(\d+)\]/, "")
 
 -         @auto_close = $1.to_i
 
 -       when "\x12"
 
 -         @auto_close = AutoClose
 
 -       ## 显示角色动画
 
 -       when "\x13"
 
 -         @text.sub!(/\[(\S+)\,(\d+)\]/, "")
 
 -         character = interpreter.get_character($1.to_i)
 
 -         character.animation_id = $2.to_i unless character.nil?
 
 -         next
 
 -       ## 显示心情动画
 
 -       when "\x14"
 
 -         @text.sub!(/\[(\S+)\,(\d+)\]/, "")
 
 -         character = interpreter.get_character($1.to_i)
 
 -         character.balloon_id = $2.to_i unless character.nil?
 
 -         next
 
 -       ## 特定字符处理
 
 -       when "\xff"
 
 -         @text.insert(0, @frozen_char.shift)
 
 -       else
 
 -         ## 字速控制
 
 -         @wait_count = TypeDelay
 
 -         @wait_count = @speed if @speed != nil
 
 -         contents.draw_text(@contents_x, @contents_y, contents.font.size, @line_maxh[@line_count], c)
 
 -         c_width = contents.text_size(c).width
 
 -         @contents_x += c_width
 
 -       end
 
 -       break unless @show_fast or @line_show_fast
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 开始输入数值 
 
 -   #--------------------------------------------------------------------------
 
 -   def start_number_input
 
 -     digits_max = $game_message.num_input_digits_max
 
 -     number = $game_variables[$game_message.num_input_variable_id]
 
 -     @number_input_window.digits_max = digits_max
 
 -     @number_input_window.number = number
 
 -     @number_input_window.x = x
 
 -     ## 代入头像宽度
 
 -     @number_input_window.x += face_width if show_face? and !@show_right
 
 -     @number_input_window.y = y + @contents_y
 
 -     @number_input_window.active = true
 
 -     @number_input_window.visible = true
 
 -     @number_input_window.update
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 更新光标
 
 -   #--------------------------------------------------------------------------
 
 -   def update_cursor
 
 -     if @index >= 0
 
 -       x = $game_message.skin_indent
 
 -       x += face_width + $game_message.face_reserved if show_face? and !@show_right
 
 -       y = 0
 
 -       for i in 0...$game_message.choice_start + @index
 
 -         y += @line_maxh[i]
 
 -       end
 
 -       width = contents.width - x
 
 -       height = @line_maxh[$game_message.choice_start + @index]
 
 -       self.cursor_rect.set(x, y, width, height)
 
 -     else
 
 -       self.cursor_rect.empty
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 文章显示输入处理
 
 -   #--------------------------------------------------------------------------
 
 -   def input_pause
 
 -     if Input.trigger?(Input::C) or Input.trigger?(Input::B)
 
 -       ## 还原自定义暂停标记
 
 -       @custom_pause = false
 
 -       unless @text.nil? or @text.empty?
 
 -         new_page if @line_count >= Window_MaxLine
 
 -       else
 
 -         terminate_message
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 是否启用漫画式
 
 -   #--------------------------------------------------------------------------
 
 -   def comic_style?
 
 -     return @comic_style && [email protected]?
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 是否显示名字
 
 -   #--------------------------------------------------------------------------
 
 -   def show_name?
 
 -     return [email protected]?
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 是否显示头像
 
 -   #--------------------------------------------------------------------------
 
 -   def show_face?
 
 -     return !$game_message.face_name.empty?
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 头像宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def face_width
 
 -     return 0 unless show_face?
 
 -     return @face_sprite.bitmap.width
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 头像高度
 
 -   #--------------------------------------------------------------------------
 
 -   def face_height
 
 -     return 0 unless show_face?
 
 -     return @face_sprite.bitmap.height
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 视觉宽度
 
 -   #--------------------------------------------------------------------------
 
 -   def visual_width
 
 -     return self.width - $game_message.skin_indent * 2
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 视觉高度
 
 -   #--------------------------------------------------------------------------
 
 -   def visual_height
 
 -     if show_face? and $game_message.face_type == 1
 
 -       return face_height - $game_message.face_indenty
 
 -     else
 
 -       return self.height - $game_message.skin_indent * 2
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 计算窗体尺寸
 
 -   #--------------------------------------------------------------------------
 
 -   def get_window_size
 
 -     ## 非漫画式对话模式时,恢复默认尺寸
 
 -     unless comic_style? or Window_DefWidth <= 0 or Window_DefHeight <= 0
 
 -       return Window_DefWidth + $game_message.skin_indent*2, Window_DefHeight + $game_message.skin_indent
 
 -     end
 
 -     ## 计算呼出窗体
 
 -     x,y,width,height = 0,0,0,0
 
 -     ## 最后一行宽度
 
 -     width_last = 0
 
 -     text = @text.clone
 
 -     frozen_char = @frozen_char.clone
 
 -     @line_maxh.clear
 
 -     loop do
 
 -       c = text.slice!(/./m)
 
 -       case c
 
 -       when nil    ## 完结
 
 -         break
 
 -       when "\x00" ## 换行
 
 -         width = x if width < x
 
 -         y += $game_message.title_spaceh if @line_maxh.empty? and show_name?
 
 -         @line_maxh.push y + LineSpace
 
 -         width_last = x
 
 -         x,y = 0,0
 
 -       when "\x01"                       # \C[n]  (更改文字色)
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         next
 
 -       ## 更改不透明度的情况下
 
 -       when "\x09"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -       ## 显示技能情况下
 
 -       when "\x0a"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         x += 24
 
 -         y = 24 if y < 24
 
 -       ## 显示物品情况下
 
 -       when "\x0b"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         x += 24
 
 -         y = 24 if y < 24
 
 -       ## 显示武器情况下
 
 -       when "\x0c"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         x += 24
 
 -         y = 24 if y < 24
 
 -       ## 显示防具情况下
 
 -       when "\x0d"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         x += 24
 
 -         y = 24 if y < 24
 
 -       ## 更改字体的情况下
 
 -       when "\x0e"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -         contents.font.size = $1.to_i
 
 -         y = $1.to_i if y < $1.to_i
 
 -       when "\x0f"
 
 -         text.sub!(/\[(.+?)\]/, "")
 
 -         contents.font.name = Font.exist?($1) ? $1 : Font.default_name
 
 -       ## \P[n] (字速)
 
 -       when "\x10"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -       ## 自动关闭对话框的情况下
 
 -       when "\x11"
 
 -         text.sub!(/\[(\d+)\]/, "")
 
 -       ## 显示角色动画
 
 -       when "\x13"
 
 -         text.sub!(/\[(\S+)\,(\d+)\]/, "")
 
 -         next
 
 -       ## 显示心情动画
 
 -       when "\x14"
 
 -         text.sub!(/\[(\S+)\,(\d+)\]/, "")
 
 -         next
 
 -       ## 特定字符处理
 
 -       when "\xff"
 
 -         text.insert(0, frozen_char.shift)
 
 -       else
 
 -         c_rect = contents.text_size(c)
 
 -         x += c_rect.width
 
 -         y = c_rect.height if y < c_rect.height
 
 -         next
 
 -       end
 
 -     end
 
 -     ## 输入数值的情况
 
 -     if $game_message.num_input_variable_id > 0
 
 -       shift = 24 + $game_message.num_input_digits_max * ($game_message.content_fontsize + LineSpace)
 
 -       width = shift if width < shift
 
 -       ## 数值窗体高度
 
 -       shift = $game_message.content_fontsize + LineSpace
 
 -       @line_maxh.push shift
 
 -     else
 
 -       width += 16 if Pause_Custom > 1 and $game_message.choice_start > 98 and width < width_last + 16
 
 -     end
 
 -     width += 32 + 1  ## 边框+阴影
 
 -     height += 32 + 1 ## 边框+阴影
 
 -     @line_maxh.each{|h| height += h}
 
 -     ## 头像
 
 -     if show_face?
 
 -       case $game_message.face_type
 
 -       when 0 ## 小头像
 
 -         shift = face_width + $game_message.face_reserved
 
 -         width += shift
 
 -         shift = face_height + $game_message.face_indenty + 32
 
 -         height = shift if shift > height
 
 -       when 1 ## 半身像
 
 -         shift = face_width + $game_message.face_reserved
 
 -         width += shift
 
 -       end
 
 -     end
 
 -     ## 保证窗体最小值
 
 -     min = Window_MinWidth + $game_message.skin_indent * 2
 
 -     width = min if width < min
 
 -     min = Window_MinHeight + $game_message.skin_indent * 2
 
 -     height = min if height < min
 
 -     return width, height
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 生成皮肤
 
 -   #--------------------------------------------------------------------------
 
 -   def create_skin_sprite(width, height, type)
 
 -     width  -= $game_message.skin_indent * 2
 
 -     height -= $game_message.skin_indent * 2
 
 -     height += $game_message.skin_namegauge if show_name?
 
 -     @skin_sprite = Spriteset_Skin.new(@skin_name, width, height, type)
 
 -     @skin_sprite.z = self.z - 1
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 生成头像
 
 -   #--------------------------------------------------------------------------
 
 -   def create_face_sprite
 
 -     @face_sprite = Sprite.new
 
 -     @face_sprite.bitmap = Bitmap.new(1, 1)
 
 -     @face_sprite.visible = false
 
 -     @face_sprite.z = self.z + 1
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 刷新头像
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh_face_sprite
 
 -     face_name  = $game_message.face_name
 
 -     face_index = $game_message.face_index
 
 -     @face_sprite.bitmap.clear
 
 -     buff = Cache.face(face_name)
 
 -     width = buff.width / 4
 
 -     height = buff.height / 2
 
 -     rect = Rect.new(face_index%4*width, face_index/4*height, width, height)
 
 -     @face_sprite.bitmap = Bitmap.new(width, height)
 
 -     @face_sprite.bitmap.blt(0, 0, buff, rect)
 
 -     @face_sprite.mirror = @show_right 
 
 -     @face_sprite.visible = true unless Actional
 
 -     ###buff.dispose
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 生成暂停标记
 
 -   #--------------------------------------------------------------------------
 
 -   def create_pause_sprite
 
 -     return if Pause_Custom == 0
 
 -     if @pause_sprite
 
 -       @pause_sprite.bitmap.dispose
 
 -       @pause_sprite.dispose
 
 -     end
 
 -     @pause_sprite = Sprite.new
 
 -     @pause_sprite.visible = false
 
 -     bitmap = Cache.system(@skin_name)
 
 -     @pause_sprite.bitmap = Bitmap.new(16*$game_message.skin_pauseframe, 16)
 
 -     @pause_sprite.bitmap.blt(0, 0, bitmap, Rect.new(64, 112, 16*$game_message.skin_pauseframe, 16))
 
 -     @pause_sprite.ox = @pause_sprite.oy = 8
 
 -     @pause_sprite.z = self.z + 2
 
 -     @pause_aniindex = -1
 
 -     @pause_anidelay = 0
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 更新暂停标记 
 
 -   #--------------------------------------------------------------------------
 
 -   def update_pause_sprite
 
 -     return unless @pause_sprite
 
 -     @pause_sprite.visible = @custom_pause
 
 -     @pause_sprite.visible = false if @pause_aniindex == -1
 
 -     return unless @custom_pause
 
 -     if @pause_anidelay > 0
 
 -       @pause_anidelay -= 1
 
 -     else
 
 -       @pause_aniindex = (@pause_aniindex + 1) % $game_message.skin_pauseframe
 
 -       @pause_sprite.src_rect.set(@pause_aniindex*16, 0, 16, 16)
 
 -       @pause_anidelay = Pause_AniDelay
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 设定暂停标记坐标
 
 -   #--------------------------------------------------------------------------
 
 -   def set_pause_sprite_pos
 
 -     return if Pause_Custom == 0
 
 -     case Pause_Custom
 
 -     when 1 ## 底边居中
 
 -       @pause_sprite.x = self.x + self.width / 2
 
 -       @pause_sprite.y = self.y + self.height - $game_message.skin_indent - 8
 
 -     when 2 ## 右下角
 
 -       @pause_sprite.x = self.x + self.width - $game_message.skin_indent - 8
 
 -       @pause_sprite.y = self.y + self.height - $game_message.skin_indent - 8
 
 -       @pause_sprite.x -= face_width if @show_right
 
 -     when 3 ## 文字后
 
 -       @pause_sprite.x = self.x + @contents_x + 24
 
 -       @pause_sprite.y = self.y + @contents_y + 16 + @line_maxh.last/2
 
 -     end
 
 -     @pause_sprite.x += $game_message.skin_pausex
 
 -     @pause_sprite.y += $game_message.skin_pausey
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 获取目标(Sprite_Character)
 
 -   #--------------------------------------------------------------------------
 
 -   def get_target
 
 -     @target = nil
 
 -     return unless @name or @target_id
 
 -     ## 精灵
 
 -     spriteset = $scene.instance_variable_get :@spriteset
 
 -     sprites   = spriteset.instance_variable_get :@character_sprites
 
 -     ## 主角
 
 -     if $game_party.members[0].name == @name or @target_id == 0
 
 -       @target = sprites.last
 
 -       return
 
 -     end
 
 -     ## 事件
 
 -     $game_map.events.values.each do |e|
 
 -       if @target_id == e.id or e.name == @name && e.page && !e.erased
 
 -         sprites.each do |s|
 
 -           if s.character == e
 
 -             @target = s
 
 -             return
 
 -           end
 
 -         end
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 是否在屏幕范围内
 
 -   #--------------------------------------------------------------------------
 
 -   def within_screen_range?(sprite)
 
 -     return false if sprite.x < 0
 
 -     return false if sprite.y < 0
 
 -     return false if sprite.x > Graphics.width
 
 -     return false if sprite.y > Graphics.height
 
 -     return true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 默认字体
 
 -   #--------------------------------------------------------------------------
 
 -   def default_font
 
 -     font = Font.new($game_message.content_fontname, $game_message.content_fontsize)
 
 -     font.shadow = Font.default_shadow
 
 -     font.italic = Font.default_italic 
 
 -     font.color = text_color($game_message.content_fontcolor)
 
 -     font.bold = Font.default_bold 
 
 -     return font
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 当前解释器
 
 -   #--------------------------------------------------------------------------
 
 -   def interpreter
 
 -     if $game_temp.in_battle
 
 -       return $game_troop.interpreter
 
 -     else
 
 -       return $game_map.interpreter
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 横坐标同步
 
 -   #--------------------------------------------------------------------------
 
 -   def x=(val)
 
 -     @skin_sprite.x = val + $game_message.skin_indent + @skin_sprite.ox if @skin_sprite
 
 -     @pause_sprite.x += val - self.x if @pause_sprite
 
 -     @number_input_window.x += val - self.x if @number_input_window
 
 -     if @face_sprite
 
 -       if @show_right
 
 -         @face_sprite.x = val - $game_message.face_indentx + self.width - face_width - 16
 
 -       else
 
 -         @face_sprite.x = val + $game_message.face_indentx + 16
 
 -       end
 
 -     end
 
 -     super
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 纵坐标同步
 
 -   #--------------------------------------------------------------------------
 
 -   def y=(val)
 
 -     if @skin_sprite
 
 -       @skin_sprite.y = val + $game_message.skin_indent - 16 + @skin_sprite.oy
 
 -       @skin_sprite.y -= $game_message.skin_namegauge if show_name?
 
 -     end
 
 -     @pause_sprite.y += val - self.y if @pause_sprite
 
 -     @number_input_window.y += val - self.y if @number_input_window
 
 -     if @face_sprite
 
 -       case $game_message.face_type
 
 -       when 0
 
 -         @face_sprite.y = val + $game_message.face_indenty + 16 - $game_message.skin_namegauge
 
 -       when 1
 
 -         @face_sprite.y = val + $game_message.face_indenty + self.height - face_height - 16
 
 -       end
 
 -     end
 
 -     super
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 开启度同步
 
 -   #--------------------------------------------------------------------------
 
 -   def openness=(val)
 
 -     super(val)
 
 -     if @skin_sprite and Actional
 
 -       @skin_sprite.action(self.openness)
 
 -       @skin_sprite.x = self.x + $game_message.skin_indent + @skin_sprite.ox
 
 -       @skin_sprite.y = self.y + $game_message.skin_indent - 16 + @skin_sprite.oy
 
 -       @skin_sprite.y -= $game_message.skin_namegauge if show_name?
 
 -       @face_sprite.visible = true if @face_sprite and self.openness == 255
 
 -     end
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Scene_Map
 
 - #==============================================================================
 
 - class Scene_Map < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ◎ 开始处理
 
 -   #--------------------------------------------------------------------------
 
 -   alias comic_style_start start
 
 -   def start
 
 -     comic_style_start
 
 -     @message_window = Window_ComicStyle.new
 
 -   end
 
 - end
 
 
  复制代码 就是这个,1517行有问题 |   
 
 
 
 |