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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3997
在线时间
603 小时
注册时间
2017-4-21
帖子
229
跳转到指定楼层
1
发表于 2019-1-6 00:25:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 阮声悠悠 于 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
复制代码

Lv5.捕梦者

梦石
0
星屑
34870
在线时间
4148 小时
注册时间
2007-12-15
帖子
9981
2
发表于 2019-1-6 08:49:45 | 只看该作者
我也有这个问题,我同一时间还有4个己方待机动画一起刷,掉帧特别厉害。
我是用guoxiaomi的全屏动画脚本,如果动画为全屏,在出手方显示动画,对象方只显示闪烁和受创特效。
缺点,比如雷击会打固定点而不是每个敌人都劈一遍。
我问问菜刀桑有什么好方法没有,用新的方法实现全动画脚本,这个问题早晚也得遇到。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

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

点评

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

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19284
在线时间
3074 小时
注册时间
2013-1-11
帖子
1288
4
发表于 2019-1-6 09:40:56 | 只看该作者
本帖最后由 张咚咚 于 2019-1-6 09:44 编辑

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

点评

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

使用道具 举报

Lv3.寻梦者

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


有点头绪了……

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

RUBY 代码复制
  1. direnshuliang = 0
  2.     for target in @target_battlers
  3.       direnshuliang += 1
  4.     end
  5.     # 对像方动画
  6.     for target in @target_battlers
  7.       #如果 “对象方的动画” 的位置为 “画面”
  8.       if $data_animations[@animation2_id].position == 3
  9.         #这个动画全体的透明度变为  255/direnshuliang
  10.       end


点评

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

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33178
在线时间
10489 小时
注册时间
2009-3-15
帖子
4756
6
发表于 2019-1-6 17:23:07 | 只看该作者
RUBY 代码复制
  1. for target in @target_battlers
  2. if $data_animations[@animation2_id].position == 3
  3. target.animation_id = @animation2_id
  4. break#中断循环
  5. end
  6. end

点评

尴尬- -动画有一个“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
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3997
在线时间
603 小时
注册时间
2017-4-21
帖子
229
7
 楼主| 发表于 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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
198
在线时间
17 小时
注册时间
2008-6-24
帖子
28
8
发表于 2019-7-15 19:11:18 | 只看该作者
阮声悠悠 发表于 2019-1-7 17:40
自行解决了,分享方法给大家

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 14:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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