Project1

标题: 如何添加一个新的能力值并显示出值槽? [打印本页]

作者: 三途亚梦    时间: 2014-8-20 22:08
标题: 如何添加一个新的能力值并显示出值槽?
本帖最后由 三途亚梦 于 2014-8-21 13:04 编辑

就是新增一个类似 HP、MP的能力值,然后能在人物状态窗口中显示出来。
这个值本身不一定要有实际作用,只要能够在事件中调用,使用道具通过变量可以改变它的值。
作者: 喵呜喵5    时间: 2014-8-20 22:31
本帖最后由 喵呜喵5 于 2014-8-20 22:34 编辑

你可以参考描绘HP值的方法
  1.   def draw_actor_hp(actor, x, y, width = 124)
  2.     draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  3.     change_color(system_color)
  4.     draw_text(x, y, 30, line_height, Vocab::hp_a)
  5.     draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
  6.       hp_color(actor), normal_color)
  7.   end
复制代码
draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
描绘值槽,参数分别是值槽的x位置、y位置、值槽的宽度、值槽数值相对于值槽最大值的百分比,数值槽的颜色1、颜色2

draw_text(x, y, 30, line_height, Vocab::hp_a)
描绘值槽的说明文字

draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,hp_color(actor), normal_color)
描绘值槽的当前值和最大值的文字


通过事件调用的话,比较简单的思路有两个

既然是角色的属性的话,在Game_Actor类里添加一个实例变量,之后读取就好

另外一种的话,你可以考虑拿一个变量$game_variables作为数组来使用,通过 $game_variables[XXX][角色的ID] 来对数值进行修改与访问
作者: 三途亚梦    时间: 2014-8-21 13:07
喵呜喵5 发表于 2014-8-20 22:31
你可以参考描绘HP值的方法draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
描 ...

描绘出值槽的方法大致上懂了,不过新的能力值设计上有一些问题。

普通的能力值通过找到的脚本容易的就添加进去了,但是还不太清楚如何添加和HP、MP类似的能力值。
它们和普通的能力值比起来有哪些不太一样的地方?
作者: taroxd    时间: 2014-8-21 13:18
三途亚梦 发表于 2014-8-21 13:07
描绘出值槽的方法大致上懂了,不过新的能力值设计上有一些问题。

普通的能力值通过找到的脚本容易的就添 ...

不太一样的地方就是,这些能力值并不直接从数据库读取。仅此而已
作者: 三途亚梦    时间: 2014-8-22 11:16
已经解决可以结贴了。




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