Project1

标题: 在战斗里怎么样实现慢镜头? [打印本页]

作者: 火焰卷轴    时间: 2018-6-23 19:48
标题: 在战斗里怎么样实现慢镜头?
Graphics.frame_rate这个更改帧率,但不知道该怎么使用到战斗里。
我想要的是,敌人角色死掉时是出现一段慢镜头,就是出现伤害后的出现一段慢镜头。
不知道该怎么实现,请大神帮忙。
作者: 火焰卷轴    时间: 2018-6-25 07:46
顶一个,请大神帮忙
作者: clear仔    时间: 2018-6-28 12:07
本帖最后由 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里面改,这样是比较简单的改法,但是并不是很规范




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