Project1

标题: 该如何显示属性图片 [打印本页]

作者: xephon    时间: 2008-2-29 03:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: xephon    时间: 2008-3-8 00:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 禾西    时间: 2008-3-8 01:24
替換原本的幫助。坐標等等要自己調節。
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 640, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 设置文本
  16.   #     text  : 窗口显示的字符串
  17.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  18.   #--------------------------------------------------------------------------
  19.   def set_text(text, align = 0, pic = nil)
  20.     # 如果文本和对齐方式的至少一方与上次的不同
  21.     if text != @text or align != @align or pic != @pic
  22.       # 再描绘文本
  23.       self.contents.clear
  24.       self.contents.font.color = normal_color
  25.       self.contents.draw_text(30, 0, self.width - 40, 32, text, align)
  26.       @text = text
  27.       @align = align
  28.       @actor = nil
  29.       @pic = pic
  30.       if pic != nil
  31.         rect = Rect.new(0, 0, self.width - 32, 5)
  32.         self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  33.         bitmap = RPG::Cache.icon(pic)
  34.         opacity = self.contents.font.color == normal_color ? 255 : 128
  35.         self.contents.blt(4, 0, bitmap, Rect.new(0, 0, 24, 24), opacity)
  36.       end
  37.     end
  38.     self.visible = true
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 设置角色
  42.   #     actor : 要显示状态的角色
  43.   #--------------------------------------------------------------------------
  44.   def set_actor(actor)
  45.     if actor != @actor
  46.       self.contents.clear
  47.       draw_actor_name(actor, 4, 0)
  48.       draw_actor_state(actor, 140, 0)
  49.       draw_actor_hp(actor, 284, 0)
  50.       draw_actor_sp(actor, 460, 0)
  51.       @actor = actor
  52.       @text = nil
  53.       self.visible = true
  54.     end
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 设置敌人
  58.   #     enemy : 要显示名字和状态的敌人
  59.   #--------------------------------------------------------------------------
  60.   def set_enemy(enemy)
  61.     text = enemy.name
  62.     state_text = make_battler_state_text(enemy, 112, false)
  63.     if state_text != ""
  64.       text += "  " + state_text
  65.     end
  66.     set_text(text, 1)
  67.   end
  68. end
复制代码

調用:×××.set_text(文字, 對齊規則, 圖片名字)
[LINE]1,#dddddd[/LINE]版主对此帖的认可:『= =』,积分『+350』。




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