Project1

标题: 【Window_Help帮助窗口】(中等脚本难度吧?) [打印本页]

作者: 菜鸟飞呀飞    时间: 2008-11-24 04:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2008-11-24 04:57
  1. #==============================================================================
  2. # ◎ GPRA_Window_Help
  3. #------------------------------------------------------------------------------
  4. # ◎ 特技及物品的说明、角色的状态显示的窗口加强。
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_Help < Window_Base
  12. #--------------------------------------------------------------------------
  13. # ● 初始化对像
  14. #--------------------------------------------------------------------------
  15. def initialize
  16.    super(0, 0, 640, 128)
  17.    self.contents = Bitmap.new(width - 32, height - 32)
  18. end
  19. #--------------------------------------------------------------------------
  20. # ● 设置文本
  21. #     text  : 窗口显示的字符串
  22. #     align : 对齐方式
  23. #--------------------------------------------------------------------------
  24. def set_text(text, align = 0)
  25.    # 如果文本和对齐方式的至少一方与上次的不同
  26.    if text != @text or align != @align
  27.      # 清空原来的文字内容
  28.      self.contents.clear
  29.      # 设置颜色为默认颜色
  30.      self.contents.font.color = normal_color
  31.      # 定义变量记录文字行数
  32.      l=0
  33.      # 定义数组分别记录每行文字内容
  34.      s=["","",""]
  35.      # 利用临时变量存储text内容
  36.      temp=text.dup
  37.      # 首先处理文本,将"\\n"全部替换成换行符"\n"
  38.      temp.gsub!(/\\n/) { "\n" }
  39.      # c 获取 1 个字 (如果不能取得文字就退出循环)
  40.      while ((c = temp.slice!(/./m)) != nil)
  41.        # 另起一行文字的情况下
  42.        if c == "\n"
  43.          # 当超过3行时(0行开始,所以这里是2)
  44.          if l >= 2
  45.            # 退出循环体
  46.            break
  47.          end
  48.          # 否则l自增1
  49.          l += 1
  50.        end
  51.        # 不是换行符的其他情况
  52.        s[l]=s[l]+c
  53.      end
  54.      # 根据文字的行数进行不同的绘制
  55.      case l
  56.      when 0
  57.        self.contents.draw_text(4, 32, self.width - 40, 32, s[0], align)
  58.      when 1
  59.        self.contents.draw_text(4, 16, self.width - 40, 32, s[0], align)
  60.        self.contents.draw_text(4, 48, self.width - 40, 32, s[1], align)
  61.      when 2
  62.        self.contents.draw_text(4, 0, self.width - 40, 32, s[0], align)
  63.        self.contents.draw_text(4, 32, self.width - 40, 32, s[1], align)
  64.        self.contents.draw_text(4, 64, self.width - 40, 32, s[2], align)
  65.      end
  66.      # 保存此次绘图时的参数值
  67.      @text = text
  68.      @align = align
  69.      @actor = nil
  70.    end
  71.    # 可见状态为真
  72.    self.visible = true
  73. end
  74. #--------------------------------------------------------------------------
  75. # ● 设置角色
  76. #     actor : 要显示状态的角色
  77. #--------------------------------------------------------------------------
  78. def set_actor(actor)
  79.    if actor != @actor
  80.      self.contents.clear
  81.      draw_actor_name(actor, 4, 0)
  82.      draw_actor_state(actor, 140, 0)
  83.      draw_actor_hp(actor, 284, 0)
  84.      draw_actor_sp(actor, 460, 0)
  85.      @actor = actor
  86.      @text = nil
  87.      self.visible = true
  88.    end
  89. end
  90. #--------------------------------------------------------------------------
  91. # ● 设置敌人
  92. #     enemy : 要显示名字和状态的敌人
  93. #--------------------------------------------------------------------------
  94. def set_enemy(enemy)
  95.    text = enemy.name
  96.    state_text = make_battler_state_text(enemy,false)
  97.    if state_text != ""
  98.      text += " " + state_text
  99.    end
  100.    set_text(text, 1)
  101. end
  102. end

复制代码


分行说明 有这个脚本
发布地址忘了 在说明文字里:比如回复剂 己方单体 HP 回复。\n猪\n猪头
\n就是换行了
作者: 塑望    时间: 2008-11-24 05:37
囧。。中等难度脚本
作者: 菜鸟飞呀飞    时间: 2008-11-24 06:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3nξhα0_lim    时间: 2008-11-24 07:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 菜鸟飞呀飞    时间: 2008-11-24 20:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雪流星    时间: 2008-11-24 20:34
你这个脚本最大的一个问题是:你不明白类「继承」的道理
作者: 菜鸟飞呀飞    时间: 2008-11-24 21:33
提示: 作者被禁止或删除 内容自动屏蔽




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