Project1

标题: 再次送分 全动画的问题 我囧 [打印本页]

作者: redant    时间: 2008-10-18 05:43
标题: 再次送分 全动画的问题 我囧


女一号 还没有动 小熊熊就躺在凉凉的地板上了 =v= 美女力量就是大



难道 女一号会隐身{/fd} 怎么连小熊也看不见了?

脚本: 全动画
问题:默认的全动画就行 我的咋就不行{/gg}

问题工程:本站
http://rpg.blue/upload_program/d/redant_redant_104751718.rar
纳米盘
http://www.namipan.com/d/5e60d897659a542942581582a00c336ebb677a4dee8f1b00
队伍里有两组怪 第一组 是没有问题的(就是默认的蓝若冰)
第二组 就是有问题的了……

分数解决了的 ,追加大量。{/cy}

[LINE]1,#dddddd[/LINE]
我刚才发现果冻叮当猫的修改版脚本
http://rpg.blue/web/htm/news1159.htm
用了它 之后好像就没有这种现象了{/gg}

估计是已经解决……

不过现在谁能说明一下 为什么解决了? 是怎么解决的……
分就归你 不够 我再加。

作者: dbshy    时间: 2008-10-18 19:40
第一个问题,我测试没遇到
第二个问题,偶尔遇到 = =

还有一个LZ没发现的问题,就是防御后动作无法变回来
今天晚上有时间的话,就把它解决了


作者: 199566    时间: 2008-10-18 20:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2008-10-18 20:40
以下引用dbshy于2008-10-18 11:40:22的发言:

还有一个LZ没发现的问题,就是防御后动作无法变回来

这个 修改后的 (MS是星云版的吧)好像解决了 本回合防御 下回合更改会自然状态
脚本太长 贴不上来
以下引用199566于2008-10-18 12:21:42的发言:

第2个问题我也有,但第1个没遇到,期待高手来解决了,但可以提示下,似乎与伤害值和闪烁的次数有关


[本贴由作者于 2008-10-18 12:23:39 最后编辑]

闪烁次数? 谁的动画的闪烁? 女主角唯一 蓝若冰和熊 死亡都没有闪烁

第一个问题可以容忍 第二个忍无可忍{/gg}
[LINE]1,#dddddd[/LINE]版主对此帖的认可:『补回清空的悬赏积分,除去认可的1111,另加1801。』,积分『+1801』。
作者: 199566    时间: 2008-10-18 21:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: redant    时间: 2008-10-19 23:33
隔天自顶 无罪=_=|
作者: 分子轨道理论    时间: 2008-10-19 23:57
你改动了什么脚本没有??


作者: redant    时间: 2008-10-20 00:08
就是全动画工程 脚本一个没动
http://rpg.blue/web/htm/news729.htm

作者: dragengt    时间: 2008-10-20 00:20
貌似未曾遇到过
作者: redant    时间: 2008-10-20 00:25
我刚才发现果冻叮当猫的修改版脚本
http://rpg.blue/web/htm/news1159.htm
用了它 之后好像就没有这种现象了{/gg}

估计是已经解决……

不过现在谁能说明一下 为什么解决了? 分就归你
不够 我再加。

这个问题出现的主要原因是 我想做敌人 可幻想三国的素材敌人有点少
于是借用老关的素材 修改成全动画能用的…… 于是乎 问题接踵而至
作者: 果冻叮当猫    时间: 2008-10-21 00:58
这个问题我找时间帮你看看吧

作者: redant    时间: 2008-10-21 03:55
请问这个问题
具体 你的脚本改的哪里 好像每次还大闪一次{/gg}
作者: 做游戏的新手    时间: 2008-10-21 04:22
找不到文件 graphics/ba......./weiyouju
作者: redant    时间: 2008-10-21 04:46
解密的 直接在数据库里测试 (这样能看出来)
两队 队伍死亡 后会出现我所说的问题

或者就在图块数据库里 草原 弄上战斗背景

作者: 玄月    时间: 2008-10-22 18:13
我曾遇到过~~
把脚本尽量置底~
作者: Magic    时间: 2008-10-23 00:00
MS全动画的BUG还真是多啊 那么未放弃追求全动画的蚂蚁兄加油吧
作者: 闪电    时间: 2008-10-23 02:15
1年前让人帮忙整合了45度全动画和RTAB的部分功能,后来整合的人浮云了,此战斗脚本在后期测试中出现无数BUG...变成了游戏的瓶颈了...
作者: redant    时间: 2008-10-23 02:17
恩 只是因为用到的主角素材是幻想三国志的
(鲁鲁的素材没的说) 并且 幻想三国志的动画真的太棒了 {/hx}

其他的一些BUG 都解决的差不多了吧 (应该是)
[LINE]1,#dddddd[/LINE]
全动画在于动画表现力好
梦幻的那个脚本http://rpg.blue/web/htm/news453.htm 要是做成全动画那样
估计比较麻烦{/gg} 66是一张4个 也就是4帧
雨血2demo 是6(8?)个一张图  但是表现效果 肯定不如 幻想素材的50帧的一个动画吧?
但是还有全动画不支持状态(中毒昏睡混乱)动画 这点确实令人挠头
作者: Arche    时间: 2008-10-25 00:07
不好意思
借贴问一下
也有一个问题
画面闪烁在过程中伤害和HIT会被算上去,动画结束之后又会被去掉
假如人物闪5次,画面闪2次,过程就是7hit,可是最后结算的时候又会变成5hit

还有施法和中招是同一个人的时候会有问题
给自己治愈的时候咏唱动画还没完治愈的动画就出来了
用空白贞利用时间差都不行。
作者: 无双修罗一闪    时间: 2008-10-25 00:18
楼上的 那位貌似解决了齐时动画的 显示BUG吗?给自己治愈的时候咏唱动画还没完治愈的动画就出来了,我的是只显示对象方动画,不显示咏唱动画。{/ll}最后用公共事件才解决了 这问题,脚本的不会改,那位能帮忙一下?

作者: Arche    时间: 2008-10-25 00:21
就是咏唱动画刚显示就中断了直接出来治愈动画orz
不知道怎么解决,请问你怎么用公共时间解决
作者: 无双修罗一闪    时间: 2008-10-25 00:28
哈,你说的现象我到没遇到过,公共事件我以改变角色战斗图为起点,就是当角色使用特技时改变该角色的战斗图,然后等待n帧(n=技能动画的帧数)。最后换回该角色原来的战斗图,经测试没BUG。{/ll}就是麻烦了点。
作者: 大地的雨    时间: 2008-10-25 05:28
楼主你说遇到的问题就是这个?
我抽时间帮你看看。
[LINE]1,#dddddd[/LINE]
看完后,发现……
原来只是调用动画的时机不对……
话说以前没仔细看全动画脚本,现在看了一下,发现到好多地方都用if来弥补,如果直接将调用的时机改一改,应该就没问题了。这就是为什么默认的没出问题,而你的会出问题了。
作者: Arche    时间: 2008-10-25 18:27
用了1.05新版之后说找不到文件G../Pictures/string/damage.,按照这些路径新建文件夹复制文件还是找不到,用老版本的没有这个问题orz,怎么解决的
作者: redant    时间: 2008-10-25 18:36
发现到好多地方都用if来弥补,如果直接将调用的时机改一改,应该就没问题了。这就是为什么默认的没出问题,而你的会出问题了。


调用的时机 是什么意思? 好多地方有IF 来弥补?

用了1.05新版之后说找不到文件G../Pictures/string/damage

找个数字图片 重命名一下 就可以解决{/gg}

作者: Arche    时间: 2008-10-25 18:39
重命名为什么。。本来就有两个文件一个是hit,一个是number,下载了伤害美化包
复制了也不行orz
作者: 大地的雨    时间: 2008-10-25 19:48
以下引用redant于2008-10-25 10:36:34的发言:
调用的时机 是什么意思? 好多地方有IF 来弥补?

全动画脚本已全程播放一个动画来代替默认战斗图。
当指令选择攻击指令时,脚本才给出换名字的指令,因为有时候处理的速度并不同,名字一更换,动画也立即换了,可是问题就出现了,因为接下来显示伤害和攻击动画的却还没换,所以美女没有动手,熊就先倒了。为什么两个一起消失,因为实事上战斗已经结束了,只是效果比较迟显示出来,可是脚本已经传达了结束的指令,sprite收到指令,清空,所以双方都不见了。

简单来说应该是:
发指令->改变动画->执行效果


可是现在的顺序被改为(不能怪脚本,这事默认的可悲):
执行效果->发指令->改变动画

因为效果先执行,所以过后所发出的指令并不是原本要发出的指令了。 [LINE]1,#dddddd[/LINE]版主对此帖的认可:『认可答案,积分1111为LZ所出。』,积分『+1111』。
作者: redant    时间: 2008-10-25 19:59
大概知道了 先去研究下
研究明白了,我就结贴 谢谢


重命名为什么。。本来就有两个文件一个是hit,一个是number,下载了伤害美化包
复制了也不行orz


缺的是damage图片
就是伤害数字、critical和MISS 的图片 这个很好找的吧{/gg}
作者: Arche    时间: 2008-10-25 20:35
这个
我把下载下来的伤害美化包里面就包含了这个名字叫damage的文件
解压后放在string下面还是damage文件夹下面都是说没找到orz
作者: redant    时间: 2008-10-25 20:45
全动画默认图片都是放在picture里
叮当猫的是新建了一个文件夹string
我看着不习惯 所以string部分删掉( 会提示错误 然后再改)
数字图片全放在picture里了

我的没问题  你再试试 不行的话我再传你改过的和素材……
作者: 无双修罗一闪    时间: 2008-10-25 21:16
蚂蚁解决了齐时动画的显示BUG了吗?
作者: redant    时间: 2008-10-25 21:32
就是比如放法的时候那个问题?

这个叮当猫的脚本好像解决了 还没有试验
名字★待机★防御★挨打★死亡动态★死亡静态★胜利动态★胜利静态★施法动画(本人自己添加的).png


就是最后一个 弄完现在这部分 就去弄 施法动画部分

[LINE]1,#dddddd[/LINE]

施法动画用了以后 竟然又有了问题 是我操作不认真还是这个万恶的脚本?
不管了先睡一觉……
作者: Arche    时间: 2008-10-25 21:45
弄了半天也不行,删掉string也不行,我上传工程文件了
麻烦你帮我看看吧
http://rpg.blue/upload_program/d/Arche_全动画战斗系统_105370894.rar

作者: redant    时间: 2008-10-26 02:01
叮当猫的
  1. #--------------------------------------------------------------------------
  2.   # ● 处理敌人动作
  3.   #--------------------------------------------------------------------------
  4.   def update_enemy_animation
  5.     if @battler.is_a?(Game_Enemy)
  6.       if @battler.show_damage_value != nil
  7.         self.damage(@battler.show_damage_value, false)
  8.         @battler.show_damage(nil)
  9.         @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  10.         @battler.setup_battler_hurt_ani(1)
  11.       end
  12.       if @battler.current_action.kind == 0 and @battler.current_action.basic == 1
  13.       else
  14.         # 单回合只有一次攻击
  15.         if @last_hits == 1 and not @battler.dead? and @battler.damage.is_a?(Numeric) and @battler.damage > 0
  16.           ############ #小改动
  17.           @last_hits = 0
  18.           ############
  19.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  20.           @battler.setup_battler_hurt_ani(1)
  21.           #################################################################
  22.         # 单回合多次攻击
  23.         elsif @hits > @temp_hits and @frame_index != @last_frame and not @battler.dead? and @battler.damage.is_a?(Numeric) and @battler.damage > 0
  24.           ############ #小改动
  25.           @temp_hits+=1
  26.           ############
  27.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  28.           @battler.setup_battler_hurt_ani(1)
  29.           #################################################################
  30.         # 死亡之前攻击
  31.         elsif @hits > @temp_hits and @frame_index != @last_frame and @battler.damage.is_a?(Numeric) and @battler.damage > 0 and @battler.dead? and @battler.battler_dead_ani != 1
  32.           ############ #小改动
  33.           @temp_hits+=1
  34.           ############
  35.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  36.           @battler.setup_battler_hurt_ani(1)
  37.           #################################################################
  38.         # 无伤害的攻击
  39.         elsif !@battler_damage.is_a?(Numeric) and @last_hits == 1 and @frame_index == @last_frame
  40.           @last_hits = 0
  41.           #################################################################
  42.         # 闪避的回合
  43.         elsif @battler_damage.is_a?(Numeric) and @battler.damage == 0 and @last_hits == 1 and @frame_index == @last_frame
  44.           @last_hits = 0
  45.           #################################################################
  46.         # 死亡判定
  47.         elsif @last_hits == 1 and @frame_index == @last_frame and @battler.dead? and @battler.battler_dead_ani != 1
  48.           @last_hits = 0
  49.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[4], 1)
  50.           @battler.setup_battler_dead_ani(1)
  51.           collapse
  52.         end
  53.       end
  54.     end
复制代码


星云的
  1. #--------------------------------------------------------------------------
  2.   # ● 处理敌人动作
  3.   #--------------------------------------------------------------------------
  4.   def update_enemy_animation
  5.     if @battler.is_a?(Game_Enemy)
  6.       if @battler.show_damage_value != nil
  7.         self.damage(@battler.show_damage_value, ture)
  8.         @battler.show_damage(nil)
  9.         @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  10.         @battler.setup_battler_hurt_ani(1)
  11.       end
  12.       if @battler.current_action.kind == 0 and @battler.current_action.basic == 1
  13.       else
  14.         if @hits == 1 and not @battler.dead? and @battler.battler_hurt_ani != 1 and @battler.damage.is_a?(Numeric) and @battler.damage > 0
  15.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
  16.           @battler.setup_battler_hurt_ani(1)
  17.         elsif @frame_index == @last_frame and @battler.dead? and @battler.battler_dead_ani != 1
  18.           @battler.setup_battler_ani(@battler.battler_name.split(/★/)[4], 1)
  19.           @battler.setup_battler_dead_ani(1)
  20.           collapse
  21.         end
  22.       end
  23.     end
  24.   end
复制代码


是不是就是因为 在处理敌人动作 指令发出两者顺序不同
所以才会 前者没有问题
而后者会出现 我遇到的问题呢?

关键点 是在处理敌人动作的时机

谢谢你的帮助
作者: 大地的雨    时间: 2008-10-26 03:09
以下引用redant于2008-10-25 18:01:16的发言:
是不是就是因为 在处理敌人动作 指令发出两者顺序不同
所以才会 前者没有问题
而后者会出现 我遇到的问题呢?

关键点 是在处理敌人动作的时机

谢谢你的帮助

处理动作就是我说的时机了,可是影响中好像不止敌人,己方的好像也是这样。
事实上重新编写这一部分我相信90%完美化,剩下的就是零零散散的配合了。




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