Project1

标题: 请问受伤防御显示动画的问题 [打印本页]

作者: 火焰卷轴    时间: 2018-6-18 10:36
标题: 请问受伤防御显示动画的问题
RUBY 代码复制
  1. # 显示伤害
  2.     for target in @target_battlers
  3.       if target.damage != nil
  4.         target.damage_pop = true
  5.      elsif target.guarding? && if target.damage > 0
  6.       target.animation_id = 99
  7.       end
  8.     end

但是怎么判断受伤的伤害时物理的还是魔法的?
如果物理伤害就显示动画,如果是魔法的就不显示。
作者: 灯笼菜刀王    时间: 2018-6-18 10:55
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

加上红色的那句就行了
作者: 火焰卷轴    时间: 2018-6-18 11:05
灯笼菜刀王 发表于 2018-6-18 08:55
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

加上红色的那句就行了 ...

多谢,那普通攻击的判断是什么
作者: 火焰卷轴    时间: 2018-6-18 11:20
灯笼菜刀王 发表于 2018-6-18 08:55
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

加上红色的那句就行了 ...

请问在哪里判断
作者: 文雅夕露    时间: 2018-6-18 11:46
本帖最后由 文雅夕露 于 2018-6-18 12:24 编辑

判断普通攻击的话就用
if @active_battler.current_action.kind == 0

end
判断物理特技攻击的话就用
if @skill.atk_f > 0

end

所以楼主想实现的写法应该是
  1. elsif target.guarding? && @active_battler.current_action.kind == 0 || @skill.atk_f > 0
  2. target.animation_id = 99 if target.damage > 0
  3. end
复制代码

以上写法有问题...

补充一个较好的判断。
RUBY 代码复制
  1. elsif target.guarding? && @active_battler.current_action.kind == 0 && target.damage > 0
  2.       target.animation_id = 99
  3.     elsif target.guarding? &&  @skill.atk_f > 0 && target.damage > 0
  4.       target.animation_id = 99
  5.       end





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