Project1

标题: 如何在技能释放的同时显示特殊效果的伤害值 [打印本页]

作者: 饿啊    时间: 2022-10-23 08:44
标题: 如何在技能释放的同时显示特殊效果的伤害值
想要制作一个溅射伤害的技能,于是新建了一项工程,在Game_Battler 3里的第196行之后插入了如下代码,以“十字斩”为对象进行了调试
RUBY 代码复制
  1. if skill.id == 57 && self.damage.is_a?(Numeric)
  2.      #溅射伤害
  3.       origin_damage = self.damage * 100
  4.       origin_damage /= elements_correct(skill.element_set)
  5.       origin_damage = (origin_damage * 0.3).round
  6.       for enemy in $game_troop.enemies
  7.         if self != enemy
  8.           value = origin_damage * enemy.elements_correct(skill.element_set)
  9.           value /= 100
  10.           enemy.damage = value
  11.           enemy.hp -= value
  12.           enemy.damage_pop = true
  13.         end
  14.       end
  15.     end


执行出来的效果虽然很成功,而且也成功显示且打出了溅射伤害,但问题是这个溅射伤害是在技能的视觉效果之前显示的,会有一种违和感。
故在此虚心请教各位,如何能把这个溅射伤害的显示与技能的视觉效果同步,或者退而求其次移到技能本体效果之后呢?
作者: 我为鱼肉    时间: 2022-10-23 08:55
本帖最后由 我为鱼肉 于 2022-10-23 09:25 编辑

尝试把enemy.damage_pop = true删掉
记录受到溅射伤害的这些敌人
在场景4-5我忘了是几了,有个显示对象方对画,把这些敌人的damage_pop打开就行了
作者: 饿啊    时间: 2022-10-23 09:47
感谢指点。
如二楼楼主所言,我把原先的damage_pop部分删除了,并且Scene_Battle4中的主回合步骤5的439行之后插入了如下代码:
  1. for enemy in $game_troop.enemies
  2.       if enemy.damage.is_a?(Numeric)
  3.         if enemy.damage > 0
  4.           enemy.damage_pop = true
  5.         end
  6.       end
  7.     end
复制代码

虽然比较简单粗暴,但效果确实显著:

之后也会考虑另外的改良,总之十分感谢。




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