Project1

标题: 【VxAce】一句系统脚本不解,求高人开示 [打印本页]

作者: alianlord    时间: 2020-9-25 10:20
标题: 【VxAce】一句系统脚本不解,求高人开示
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
#  战斗画面
#==============================================================================

class Scene_Battle < Scene_Base
……
……
#--------------------------------------------------------------------------
  # ● 检查是否能使用保护弱者
  #--------------------------------------------------------------------------
  def check_substitute(target, item)
    target.hp < target.mhp / 4 && (!item || !item.certain?)
  end
红字部份怎么解读,还有为什么可以这样写?certain? 这个字是怎么来的?

作者: 百里_飞柳    时间: 2020-9-25 15:24
这是因为 item 是 RPG::UsableItem 类的实例

具体可以见F1帮助手册-RGSS参考-游戏库-RPGVXAce数据结构-RPG::BaseItem::RPG::UsableItem
其有方法 certain? 用于判定是否在数据库中设置了必定命中

(!item || !item.certain?) 中如果 item 为nil,则 !item 会返回true,如果 item 有实例,就返回false,然后再检查 item.certain? 的状态

这是基础的逻辑判断,你可以通过阅读 F1帮助手册-RGSS参考-Ruby语法-运算符-or 知道这个括号内最终返回true还是false

作者: alianlord    时间: 2020-9-25 16:06
百里_飞柳 发表于 2020-9-25 15:24
这是因为 item 是 RPG::UsableItem 类的实例

具体可以见F1帮助手册-RGSS参考-游戏库-RPGVXAce数据结构-RPG ...

唉……为什么帮助文档没有个基于字符的搜查功能呢?
层主的说明完美解决了我的疑惑。




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