查看: 2511|回复: 2

[已经解决] 在战斗里怎么样实现慢镜头?

[复制链接]
梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
回帖
127
发表于 2018-6-23 19:48:47 | 显示全部楼层 |阅读模式

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

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

×
Graphics.frame_rate这个更改帧率,但不知道该怎么使用到战斗里。
我想要的是,敌人角色死掉时是出现一段慢镜头,就是出现伤害后的出现一段慢镜头。
不知道该怎么实现,请大神帮忙。

评分

参与人数 1赞 +1 收起 理由
2256538860 + 1

查看全部评分

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
回帖
127
 楼主| 发表于 2018-6-25 07:46:46 | 显示全部楼层
顶一个,请大神帮忙
回复

使用道具 举报

梦石
0
星屑
995
在线时间
180 小时
注册时间
2013-2-16
回帖
146
发表于 2018-6-28 12:07:58 | 显示全部楼层
本帖最后由 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里面改,这样是比较简单的改法,但是并不是很规范

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部