赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 10 |
经验 | 8174 |
最后登录 | 2024-3-9 |
在线时间 | 180 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 995
- 在线时间
- 180 小时
- 注册时间
- 2013-2-16
- 帖子
- 176
|
本帖最后由 clear仔 于 2018-6-28 12:21 编辑
不知道这样是不是楼主想要的效果:
刚刚测试了一下,效果还行,在弹出伤害后会有20帧的慢动作
1.先定位到Sprite_Battler
2.initialize里面添加两个类变量:@_slow = false用于记录是否这个角色引发了慢动作、@_slow_duration = 0用于记录剩余暂停帧数
3.在update方法里面,在super下面,不要在其他if里面(我加在了与明灭if并行的下面)添加刷新慢动作帧数的代码:
if @_slow #如果这个角色引发了慢动作
@_slow_duration -= 1#更新剩余帧数
#判断慢动作是否结束
if @_slow_duration <= 0
#恢复设定
Graphics.frame_rate = 40#默认原帧率40
@_slow = false
end
end
4.在update里找到
"
# 伤害
if @battler.damage_pop
"
这句
在这句下面添加
if @battler.dead?
@_slow = true
@_slow_duration = 20#慢动作的时间
Graphics.frame_rate = 10#慢动作的帧率
end
本来规范的应该在内部类RPG::Sprite里面改的,但是还要各种重命名就算了
这种写法可能不是最好的,也可以在Scene里面改,这样是比较简单的改法,但是并不是很规范 |
评分
-
查看全部评分
|