Project1

标题: 请问两个问题,弄不清楚 [打印本页]

作者: kvkv97    时间: 2021-3-15 23:54
标题: 请问两个问题,弄不清楚
请问:

    # 物品窗口被激活的情况下
    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?不是一样吗?
作者: 灯笼菜刀王    时间: 2021-3-16 00:34
"装备属性预览"的实现方法是, 先装备上预览的新装备,然后记录下装备后的数值, 再把装备换回原来穿的

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

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

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




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