查看: 2632|回复: 2

[已经解决] 请问两个问题,弄不清楚

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2021-3-15 23:54:43 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
请问:

    # 物品窗口被激活的情况下
    if @item_window.active
      # 获取现在选中的物品
      item2 = @item_window.item
      # 变更装备
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      # 获取变更装备后的能力值
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      # 返回到装备
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp
      # 描画左窗口
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
    end
请问:把@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)注释掉为什么显示的能力是新的能力变成新的能力?
为什么把这句加上去,就变成旧能力变成新能力?
另外,为什么要把@actor.hp赋值给last_hp,再把last_hp赋值给@actor.hp?不是一样吗?
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2021-3-16 00:34:47 | 显示全部楼层
"装备属性预览"的实现方法是, 先装备上预览的新装备,然后记录下装备后的数值, 再把装备换回原来穿的

这段就是实现这个过程, 所以咯 当你把 @actor.equip 这句注释掉, 就等于没换装备就进行数值记录, 那当然结果就不会变化啦

注意 @actor.equip 这段有两处, 第一处就是换上新装备,第二处就是换回旧装备

第二个问题, 如果你搞懂了上面的为什么, 那这里HPSP的操作就是避免"更换新装备后,HPSP出现变化,导致换回原来装备的时候无端损失"

点评

我大概明白一些,谢谢了  发表于 2021-3-16 15:40

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部