设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2264|回复: 16
打印 上一主题 下一主题

[已经解决] 请问受伤防御显示动画的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
跳转到指定楼层
1
发表于 2018-6-18 10:36:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
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

但是怎么判断受伤的伤害时物理的还是魔法的?
如果物理伤害就显示动画,如果是魔法的就不显示。

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
2
发表于 2018-6-18 10:55:52 | 只看该作者
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

加上红色的那句就行了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
3
 楼主| 发表于 2018-6-18 11:05:20 | 只看该作者
灯笼菜刀王 发表于 2018-6-18 08:55
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

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

多谢,那普通攻击的判断是什么

点评

判断就是 "它们不在同一个地方" -。-  发表于 2018-6-18 11:12
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
4
 楼主| 发表于 2018-6-18 11:20:46 | 只看该作者
灯笼菜刀王 发表于 2018-6-18 08:55
elsif target.guarding? && if target.damage > 0 && @skill.pdef_f > 0

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

请问在哪里判断

点评

楼下那个才是对的,咱误会你要的效果了, 不好意思=3=  发表于 2018-6-18 13:38
判断这个干嘛, 直接去它们各自的方法里添加你要的东西就好了。 你总不会想往小米里塞苹果应用, 苹果里塞安卓应用吧?  发表于 2018-6-18 11:28
普通攻击和技能攻击调用的是不同的方法, 就像小米和苹果,你要怎么判断它们用的是什么系统?  发表于 2018-6-18 11:26
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
5
发表于 2018-6-18 11:46:54 | 只看该作者
本帖最后由 文雅夕露 于 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

点评

不对, 理解错的咱, 楼主是要到显示伤害的地方显示动画,咱误会为显示动画的地方, 大错特错了= =  发表于 2018-6-18 13:36
我知道了,感觉提醒  发表于 2018-6-18 12:25
而且,你这样写的话, 只要是物理技能,那就会出现防御动画,不管人家有没有防御, 因为||是只需要满足后面的条件就算达成=。=  发表于 2018-6-18 12:12
在make_basic_action_result和make_skill_action_result, 你都可以找到target, 它们分别代表普通攻击的目标和技能的目标,所以没必要多个判断  发表于 2018-6-18 12:08
在make_basic_action_result里, 你也不会需要用到@skill, 因为它不是nil就是上次使用的技能id  发表于 2018-6-18 12:05

评分

参与人数 2星屑 +50 +1 收起 理由
火焰卷轴 + 1 认可答案
RyanBern + 50 认可答案

查看全部评分

一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 19:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表