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

Project1

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

[原创发布] 【增加Miss、非完全吸血】【修改向】战斗特效系列教程①

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
200 小时
注册时间
2014-7-17
帖子
410
跳转到指定楼层
1
发表于 2014-10-21 19:05:27 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 羁绊的守望者 于 2014-10-23 21:14 编辑

战斗特效系列教程 ①

大家好,今天这篇修改向的教程就要开始的,渣排版望见谅。
首先要告诉大家,这篇教程讲的是“吸血”这一很常见的战斗特效,需要一些脚本基础,但是没有脚本基础的人照猫画虎也能做出效果来。
首先当然是打开我们的RMXP,我们想让阿尔西斯的技能十字斩拥有吸血这一特效,十字斩默认是57号。
接下来请打开脚本编辑器,直接找到Scene_Battle 4的这一段:

不难知道,这一段是显示伤害的,但是增减HP却不是在这里。
通过阅读脚本,我们得到的如下结论:
target是当前显示伤害的角色。
active_battler是行动的角色。
于是我们就可以加上一个判断:
if @active_battler.current_action.skill_id == 57
end
这就是判断是否为57号技能。
然后需要显示吸血方的动画,我们把这行脚本放到显示伤害之前去,也就是在def update_phase4_step5之后。
@active_battler.animation_id = 15
当然也不要忘了加上判断。
然后是在显示伤害那里加上加血的语句。
if @active_battler.current_action.skill_id == 57
  @active_battler.damage = -(target.damage)
  @active_battler.danage_pop = true
  @active_battler.hp += target.damage
  @status_window.refresh # 刷新状态窗口
end
于是修改好的这段脚本应该是:
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 5 : 显示伤害)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step5
  5.     # 播放动画
  6.     if @active_battler.current_action.skill_id == 57
  7.       @active_battler.animation_id = 15
  8.     end  
  9.     # 隐藏帮助窗口
  10.     @help_window.visible = false
  11.     # 刷新状态窗口
  12.     @status_window.refresh
  13.     # 显示伤害
  14.     for target in @target_battlers
  15.       if target.damage != nil
  16.         target.damage_pop = true
  17.         if @active_battler.current_action.skill_id == 57
  18.           @active_battler.damage = -(target.damage)
  19.           @active_battler.damage_pop = true
  20.           @active_battler.hp += target.damage
  21.           @status_window.refresh
  22.         end  
  23.       end
  24.     end
  25.     # 移至步骤 6
  26.     @phase4_step = 6
  27.   end
复制代码
大家有没有成功呢?
那么就说到这里,再会!


2014.10.23 更新 Miss 内容
许多人都发现了,本文没有提到Miss的处理。
其实这是非常简单的,这里给一些提示,不放出代码了。
@target.damage 是伤害的字符,可以直接判断 == 'Miss'
所以只要在伤害处理时判定一下就好了。
而对于动画的显示,可以在一开始for循环,也可以直接拿到下面的处理伤害的循环里。


2014.10.23 更新非完全吸血内容
虽说我是想让大家举一反三来着,但还是提一下吧。
吸收50%伤害就是伤害值*0.5,加血量同理。
  

点评

脚本盲表示真得不知道MISS判断和吸血百分比怎么写……,诚心诚意地请教,还愿大发慈悲地告诉我_(:з」∠)_  发表于 2015-10-23 22:16
话说大家都学会了吗 - -  发表于 2014-10-23 21:13

知其然,而不欲知其所以然,耻也!

Lv1.梦旅人

梦石
0
星屑
49
在线时间
200 小时
注册时间
2014-7-17
帖子
410
2
 楼主| 发表于 2014-10-23 19:19:49 | 显示全部楼层
更新Miss 内容 自顶。

知其然,而不欲知其所以然,耻也!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 09:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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