查看: 3548|回复: 21

[已经解决] 【已解决】特技的对象方动画不合理设定

[复制链接]
梦石
0
星屑
4017
在线时间
604 小时
注册时间
2017-4-21
回帖
177
发表于 2019-1-6 00:25:34 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 阮声悠悠 于 2019-3-9 13:07 编辑

设置一个 “效果范围” 为 “敌方全体” 的特技
对应一个动画:动画的位置是“画面”

战斗中释放这个特技,所有对象方都会显示动画,因此,就有N(敌人数量)个动画叠加起来

针对动画位置为“画面”   的情况下,应该只显示一个动画才更合理

应该是要修改这里,想请教一下,应该怎么加判断- -

  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 4 : 对像方动画)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step4
  5.     # 对像方动画
  6.     for target in @target_battlers
  7.       target.animation_id = @animation2_id
  8.       target.animation_hit = (target.damage != "Miss")
  9.     end
  10.     # 限制动画长度、最低 8 帧
  11.     @wait_count = 8
  12.     # 移至步骤 5
  13.     @phase4_step = 5
  14.   end
复制代码
梦石
0
星屑
35248
在线时间
4171 小时
注册时间
2007-12-15
回帖
9489
发表于 2019-1-6 08:49:45 | 显示全部楼层
我也有这个问题,我同一时间还有4个己方待机动画一起刷,掉帧特别厉害。
我是用guoxiaomi的全屏动画脚本,如果动画为全屏,在出手方显示动画,对象方只显示闪烁和受创特效。
缺点,比如雷击会打固定点而不是每个敌人都劈一遍。
我问问菜刀桑有什么好方法没有,用新的方法实现全动画脚本,这个问题早晚也得遇到。
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-1-6 09:11:36 | 显示全部楼层
嘛, 自己手动添加判定就是了, 比如 在 平砍, 技能, 道具 调用动画的地方, 增加个开关, 当需要只显示一次对象方动画的时候打开它就好了

然后按自己喜欢的方式, case id啦, 备注啦, 属性判断啦 在技能/武器/道具上设置判断操作这个开关就行咯

点评

看了楼主的主題,他是萌新,是听不懂你說,要超級詳細才行  发表于 2019-1-7 15:35
回复

使用道具 举报

梦石
0
星屑
19426
在线时间
3082 小时
注册时间
2013-1-11
回帖
1207
发表于 2019-1-6 09:40:56 | 显示全部楼层
本帖最后由 张咚咚 于 2019-1-6 09:44 编辑

第18行,多目标的话画面的动画只会显示一次,记录在@@_animations类变量后,其他的目标是不会重复显示的,应该不存在叠加。

1.png

点评

光效没和人物做一起,光效部分还特别多,合并图层会造成以后不好修改动作,第一次卡就只能认了。  发表于 2019-1-6 11:40
帧数是一个问题,还有就是每帧的单元数很多,导致播放动画的时候创建精灵会卡住一会。  发表于 2019-1-6 11:35
画面动画无论攻击目标多少都只显示一个,应该是帧数太多了,第一次使用会很卡。  发表于 2019-1-6 11:34
可能是我的被改过?或者,一旦对象方是画面就奇卡无比的原因是我动画帧数太多了?  发表于 2019-1-6 11:01
回复

使用道具 举报

梦石
0
星屑
4017
在线时间
604 小时
注册时间
2017-4-21
回帖
177
 楼主| 发表于 2019-1-6 17:12:30 | 显示全部楼层
本帖最后由 阮声悠悠 于 2019-1-6 17:49 编辑
灯笼菜刀王 发表于 2019-1-6 09:11
嘛, 自己手动添加判定就是了, 比如 在 平砍, 技能, 道具 调用动画的地方, 增加个开关, 当需要只 ...


有点头绪了……

今天想到一个办法!!想请教一下,怎么用脚本更改某个动画全部贞的透明度

[pre lang="ruby"]    direnshuliang = 0
    for target in @target_battlers
      direnshuliang += 1
    end
    # 对像方动画
    for target in @target_battlers
      #如果 “对象方的动画” 的位置为 “画面”
      if $data_animations[@animation2_id].position == 3
        #这个动画全体的透明度变为  255/direnshuliang
      end[/pre]

点评

974550000  发表于 2019-1-7 15:49
楼主有没Q啊我教你  发表于 2019-1-7 15:37
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-1-6 17:23:07 | 显示全部楼层
[pre lang="ruby"]
for target in @target_battlers
if $data_animations[@animation2_id].position == 3
target.animation_id = @animation2_id
break#中断循环
end
end
      [/pre]

点评

尴尬- -动画有一个“frames帧的内容。RPG::Animation::Frame 的数组。”里面还有一个“cell_data 包含了单元内容的二维数组(Table)。”不知道可不可以shenglu...  发表于 2019-1-6 18:38
动画没有透明度这參数..  发表于 2019-1-6 18:20
嗯。是我没有删除原来的脚本。所以还是会叠加起来。不过这样设定,闪烁就没有了。嗯,你可以帮我解决,5楼的:更改动画全部贞的透明度 吗  发表于 2019-1-6 17:57
所以你用了什么脚本?正常来说不会这样..  发表于 2019-1-6 17:52
我测试动画是画面时並不会都播放..只播放一次..设成上中下时就会  发表于 2019-1-6 17:51
回复

使用道具 举报

梦石
0
星屑
4017
在线时间
604 小时
注册时间
2017-4-21
回帖
177
 楼主| 发表于 2019-1-7 17:40:33 | 显示全部楼层
自行解决了,分享方法给大家

  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 4 : 对像方动画)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step4
  5. #sss[i][0]表示:“全体攻击技能且动画为画面”的动画id,也就是对象方的id
  6. #sss[i][1]表示:第一个敌人以外的敌人,播放的动画,这个动画只需要闪烁就可以了
  7.     sss = [[11,12],[1,2]]
  8.     # 对像方动画
  9.     direnshuliang = 0
  10.     for target in @target_battlers
  11.       if $data_animations[@animation2_id].position == 3#如果 “对象方的动画” 的位置为 “画面”
  12.         direnshuliang += 1
  13.         if direnshuliang == 1
  14.           target.animation_id = @animation2_id
  15.         else
  16.           for i in 0...sss.size
  17.             target.animation_id = sss[i][1] if $data_animations[@animation2_id].id == sss[i][0]
  18.           end
  19.         end
  20.        else
  21.          target.animation_id = @animation2_id
  22.       end
  23.       
  24.       target.animation_hit = (target.damage != "Miss")
  25.      if target.is_a?(Game_Actor)
  26.      end
  27.     end
  28.     # 限制动画长度、最低 8 帧
  29.     @wait_count = 8
  30.     # 移至步骤 5
  31.     @phase4_step = 5
  32.   end
复制代码

点评

看不懂你寫什么東西233  发表于 2019-1-8 09:51

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 塞糖

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
220
在线时间
19 小时
注册时间
2008-6-24
回帖
19
发表于 2019-7-15 19:11:18 | 显示全部楼层
阮声悠悠 发表于 2019-1-7 17:40
自行解决了,分享方法给大家

大佬 你写的 sss = [[11,12],[1,2]] 里面的数值是怎么设定 我是小白就这里看不懂 还望大佬指点
初级学徒!进来看看
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部