Project1

标题: 如何改变指定角色名字的颜色 [打印本页]

作者: y967    时间: 2016-7-8 11:39
标题: 如何改变指定角色名字的颜色
本帖最后由 y967 于 2016-7-8 16:27 编辑

如何改变指定角色名字的颜色
作者: 望月神绮    时间: 2016-7-8 13:24
window_base里35行左右应该有。
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取文字色
  3.   #     n : 文字色编号 (0~7)
  4.   #--------------------------------------------------------------------------
  5.   def text_color(n)
  6.     case n
  7.     when 0
  8.       return Color.new(255, 255, 255, 255)
  9.     when 1
  10.       return Color.new(128, 128, 255, 255)
  11.     when 2
  12.       return Color.new(255, 128, 128, 255)
  13.     when 3
  14.       return Color.new(128, 255, 128, 255)
  15.     when 4
  16.       return Color.new(128, 255, 255, 255)
  17.     when 5
  18.       return Color.new(255, 128, 255, 255)
  19.     when 6
  20.       return Color.new(255, 255, 128, 255)
  21.     when 7
  22.       return Color.new(192, 192, 192, 255)
  23.     when 8
  24.       return Color.new(255, 192, 203, 255)
  25.     else
  26.       normal_color
  27.     end
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 获取普通文字色
  31.   #--------------------------------------------------------------------------
  32.   def normal_color
  33.     return Color.new(255, 255, 255, 255)
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 获取无效文字色
  37.   #--------------------------------------------------------------------------
  38.   def disabled_color
  39.     return Color.new(255, 255, 255, 128)
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 获取系统文字色
  43.   #--------------------------------------------------------------------------
  44.   def system_color
  45.     return Color.new(192, 224, 255, 255)
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 获取危机文字色
  49.   #--------------------------------------------------------------------------
  50.   def crisis_color
  51.     return Color.new(255, 255, 64, 255)
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 获取战斗不能文字色
  55.   #--------------------------------------------------------------------------
  56.   def knockout_color
  57.     return Color.new(255, 64, 0)
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 刷新画面
  61.   #--------------------------------------------------------------------------
  62.   def update
  63.     super
  64.     # 如果窗口的外观被变更了、再设置
  65.     if $game_system.windowskin_name != @windowskin_name
  66.       @windowskin_name = $game_system.windowskin_name
  67.       self.windowskin = RPG::Cache.windowskin(@windowskin_name)
  68.     end
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 图形的描绘
  72.   #     actor : 角色
  73.   #     x     : 描画目标 X 坐标
  74.   #     y     : 描画目标 Y 坐标
  75.   #--------------------------------------------------------------------------
  76.   def draw_actor_graphic(actor, x, y)
  77.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  78.     cw = bitmap.width / 4
  79.     ch = bitmap.height / 4
  80.     src_rect = Rect.new(0, 0, cw, ch)
  81.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 名称的描绘
  85.   #     actor : 角色
  86.   #     x     : 描画目标 X 坐标
  87.   #     y     : 描画目标 Y 坐标
  88.   #--------------------------------------------------------------------------
  89.   def draw_actor_name(actor, x, y)
  90.     self.contents.font.color = normal_color
  91.     self.contents.draw_text(x, y, 120, 32, actor.name)
  92.   end
复制代码


看到这行
  #--------------------------------------------------------------------------
  # ● 名称的描绘
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 120, 32, actor.name)
  end

把self.contents.font.color =normal_color改成=text_color(),括号内填数字,系统默认应该有7个颜色,自己可以试着新加。
大概这样就能改角色名字的颜色,大概。
作者: x水管修理工x    时间: 2016-7-8 13:24
本帖最后由 x水管修理工x 于 2016-7-8 23:21 编辑

那就这样写就行了:
  #--------------------------------------------------------------------------
  # ● 名称的描绘
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.color = normal_color
    if actor.name == "西露达" #这是你要变颜色的名字"$xxxx"。
    self.contents.font.color.set(255, 255, 0)  #黄色文字。
  end  
    self.contents.draw_text(x, y, 120, 32, actor.name)
  end
  #--------------------------------------------------------------------------





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