Project1

标题: 人物颜色 [打印本页]

作者: j296196585    时间: 2018-8-10 14:56
标题: 人物颜色
游戏中创建的角色名怎么能变色?比如; 有的人物是紫色,有的人物是金色。


RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 名称的描绘
  3.   #     actor : 角色
  4.   #     x     : 描画目标 X 坐标
  5.   #     y     : 描画目标 Y 坐标
  6.   #--------------------------------------------------------------------------
  7.   def draw_actor_name(actor, x, y)
  8.     self.contents.font.color = normal_color
  9.     self.contents.draw_text(x, y, 120, 32, actor.name)
  10.   end

作者: 灯笼菜刀王    时间: 2018-8-10 15:12
加上条件分歧就好了呗

会正则表达式的话, 可以在名字加匹配字符来判定。

不会的话, 用 actor.id 一个一个when 过去就好了
作者: David_Exmachina    时间: 2018-8-11 12:45
本帖最后由 David_Exmachina 于 2018-8-11 12:48 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 名称的描绘
  3.   #     actor : 角色
  4.   #     x     : 描画目标 X 坐标
  5.   #     y     : 描画目标 Y 坐标
  6.   #--------------------------------------------------------------------------
  7.   def draw_actor_name(actor, x, y)
  8.     case actor.id
  9.     when 1
  10.       self.contents.font.color = normal_color
  11.     when 2
  12.       self.contents.font.color = Color.new(173, 210, 32, 255)
  13.     when 3
  14.       self.contents.font.color = Color.new(0, 0, 0, 255)
  15.     when 4
  16.       self.contents.font.color = Color.new(191, 98, 10, 255)
  17.     when 5
  18.       self.contents.font.color = Color.new(114, 51, 4, 255)
  19.     when 6
  20.       self.contents.font.color = Color.new(233, 33, 33, 255)
  21.     when 7
  22.       self.contents.font.color = Color.new(252, 52, 52, 255)
  23.     when 8
  24.       self.contents.font.color = Color.new(111, 111, 111, 255)
  25.     end
  26.     self.contents.draw_text(x, y, 120, 32, actor.name)
  27.     self.contents.font.color = normal_color # 防止其他的某些文字变成这样的颜色(可根据实际情况省略)
  28.   end

这是根据角色的ID来变更名字颜色的脚本,
有多少角色就把when和下一行复制到有几个为止,
这上面的颜色代码可根据自己的喜好来更改。





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