Project1

标题: 大佬帮忙看下代码 为啥能力值变化后的数值不显示 [打印本页]

作者: haosama    时间: 2022-11-27 20:34
标题: 大佬帮忙看下代码 为啥能力值变化后的数值不显示
class Window_EquipStatus < Window_Base#装备界面 状态栏
  def draw_item(dx, dy, param_id)
    draw_param_name(dx + 4, dy, param_id) #描绘能力值
    draw_current_param(dx + 64, dy, param_id) if @actor #描绘 能力值 当前数值
    draw_right_arrow(dx + 110, dy)   #描绘 →
    draw_new_param(dx + 132, dy, param_id) if @temp_actor#描绘变化后的能力值
    reset_font_settings
  end
  def draw_param_name(dx, dy, param_id)
    contents.font.size = YEA::LIMIT::EQUIP_FONT
    change_color(system_color)
    draw_text(dx, dy, contents.width, line_height, Vocab::param(param_id))
  end
  def draw_current_param(dx, dy, param_id)
    change_color(normal_color)
    draw_text(0, dy, dx+48, line_height, @actor.param(param_id).group, 2)
    reset_font_settings
  end
  def draw_new_param(dx, dy, param_id)
    contents.font.size = YEA::LIMIT::EQUIP_FONT
    new_value = @temp_actor.param(param_id)
  change_color(param_change_color(new_value - @actor.param(param_id)))
    draw_text(0, dy, contents.width-4, line_height, new_value.group, 2)
    reset_font_settings
  end
end
作者: 百里_飞柳    时间: 2022-11-27 21:11
如果是一行一个属性,那没看到问题,draw_text(0, dy, contents.width-4, line_height, new_value.group, 2) 和默认的 draw_text(x, y, 32, line_height, new_value, 2) 是相同的
确保 数字的group 方法返回的是数字?

有没有别的地方覆盖了 draw_new_param

有没有成功生成 @temp_actor
作者: haosama    时间: 2022-11-27 21:36
百里_飞柳 发表于 2022-11-27 21:11
如果是一行一个属性,那没看到问题,draw_text(0, dy, contents.width-4, line_height, new_value.group, 2 ...

知道了,是因为把 SCENE_EQUIP 的 CREATE_HELP_WINDOW 这行屏蔽了 不过这是为什么呀?本来我是想把装备和物品界面的 帮助窗口屏蔽掉,屏蔽掉装备界面的属性变化就不显示了。
作者: 百里_飞柳    时间: 2022-11-27 21:54
因为 状态窗口的绑定临时角色 @status_window.set_temp_actor(temp_actor) 是在 Window_EquipItem 的update_help里
如果没有帮助窗口,物品选择窗口就不会调用 update_help 了,也就导致状态窗口没有 @actor_temp,也就没有装备后的数值了
作者: haosama    时间: 2022-11-27 22:11
百里_飞柳 发表于 2022-11-27 21:54
因为 状态窗口的绑定临时角色 @status_window.set_temp_actor(temp_actor) 是在 Window_EquipItem 的update ...

soga,按照大佬的点拨,我在SCENE_equip里重新定义下了 help_window = help_window.new,并设置透明为0 完美解决,既显示了变化值,帮助窗口也看不到了。
大佬!强!




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