Project1

标题: 全动画战斗 使用物品不显示“使用方动画”的问题 [打印本页]

作者: ioudylm    时间: 2010-6-23 18:47
标题: 全动画战斗 使用物品不显示“使用方动画”的问题
本帖最后由 ioudylm 于 2010-7-3 01:41 编辑

如题,用的是站上这个全动画战斗脚本:

http://rpg.blue/forum.php?mod=viewthread&tid=119399

使用物品只显示“对象方动画”,不显示“使用方动画”
也就是只显示animation2,不显示animation1……

另外不知是不是由于对象方动画带一次闪烁,使用物品后遭受敌人攻击的话,会先显示一次多余的挨打动画
但是去掉这个闪烁又不显示回复数值……

求助OTL
作者: pigsss    时间: 2010-6-27 09:04
      同求……不显示使用方动画,用BUFF技能也不显示 弄了好久了……
另外,这个脚本不显示状态动画的缺点我倒解决了……
作者: pigsss    时间: 2010-6-27 13:14
修改了一下……可以显示了,但是仍存在问题……
原理是用判断,当使用物品时,将对象方动画放在step4里,在行动方动画之后显示就不会冲突了。但是用同样的方法判断技能施放会导致动画的先后顺序出问题=。=……
该死的if判断……到底怎么判断的
作者: ioudylm    时间: 2010-6-27 16:00
可以说的详细一点吗?

把267行左右的“添加施法动画”下面那行的注释去掉的话,就有物品和回复系技能的使用方动画了,但是敌人攻击之后会消失……OTL
作者: pigsss    时间: 2010-6-27 17:36
本帖最后由 pigsss 于 2010-6-27 17:41 编辑

完工……
动画没弄好导致浪费了很多时间……残念
如下设置:
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 刷新画面 (主回合步骤 3 : 行动方动画)
  #--------------------------------------------------------------------------
  def update_phase4_step3

  case @active_battler.current_action.kind
  
  when 1
    #-----------------
    #buff技能
    #------------------
   
   
   if $data_skills[@active_battler.current_action.skill_id].element_set.include?(26)
#给buff型技能设定一个属性

     # 行动方动画 (ID 为 0 的情况下是白色闪烁)
     if @animation1_id == 0
       @active_battler.white_flash = true
     else
       @active_battler.animation_id = @animation1_id
       @active_battler.animation_hit = true
     end
   
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 4
    @phase4_step = 4 #转到第四步就会显示了
   

    else   
    #$data_skills[@active_battler.current_action.skill_id].element_set.include?(11)
    #------------------------
    #buff之外的技能
    #------------------------
    #=========
    # 行动方动画 (ID 为 0 的情况下是白色闪烁)
    if @animation1_id == 0
      @active_battler.white_flash = true
    else
      @active_battler.animation_id = @animation1_id
      @active_battler.animation_hit = true
    end
   
   
     # 对像方动画
    for target in @target_battlers

      target.animation_id = @animation2_id
      target.animation_hit = (target.damage != "Miss")
     end
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 5
    @phase4_step = 5

  end
             #----------------
  when 2 #物品
              #----------
     if @animation1_id == 0
      @active_battler.white_flash = true
    else
      @active_battler.animation_id = @animation1_id
      @active_battler.animation_hit = true
    end
   
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 4
    @phase4_step = 4
   
  when 0
   
    # 行动方动画 (ID 为 0 的情况下是白色闪烁)
    if @animation1_id == 0
      @active_battler.white_flash = true
    else
      @active_battler.animation_id = @animation1_id
      @active_battler.animation_hit = true
    end
   
   
   
   
     # 对像方动画
    for target in @target_battlers

     
      
      target.animation_id = @animation2_id
      target.animation_hit = (target.damage != "Miss")

      #.......................................................................
      if target.is_a?(Game_Actor)
        ##############
        if target.guarding?
          $fangyu = 1
       end
        ##############
       if target.current_action.kind == 0 and target.current_action.basic == 1
           target.setup_battler_ani(target.battler_name.split(/★/)[2])
        else
         target.setup_battler_hurt_ani(0)
        end
      end
      if target.is_a?(Game_Enemy)
        if target.current_action.kind == 0 and target.current_action.basic == 1
          target.setup_battler_ani(target.battler_name.split(/★/)[1])
        else
          target.setup_battler_hurt_ani(0)
        end
      end

      #.......................................................................


      #......................................................................
    end
   
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 5
    @phase4_step = 5
  end
end#

  #--------------------------------------------------------------------------
  # ● 刷新画面 (主回合步骤 4 : 对像方动画) ★
  #--------------------------------------------------------------------------
  def update_phase4_step4
    # 对像方动画
    for target in @target_battlers
      target.animation_id = @animation2_id
      target.animation_hit = (target.damage != "Miss")
      #......................................................................
      
      
    end
    # 限制动画长度、最低 8 帧
    @wait_count = 8
    # 移至步骤 5
    @phase4_step = 5
  end
end
作者: ioudylm    时间: 2010-6-27 21:33
多谢楼上,现在道具有行动方动画了,不过回复术还是没有
跟15行有关系吗?

而且那个多余的挨打动作也还在……?
作者: pigsss    时间: 2010-6-27 22:15
我也发现…有时候动画仍会丢失
挨打重复?
我看看你脚本呢?
作者: ioudylm    时间: 2010-6-27 22:17
我就是用了顶楼地址的脚本和你的脚本,没有改动
作者: pigsss    时间: 2010-6-27 22:19
那我怎么没有呢?……
作者: ioudylm    时间: 2010-6-27 22:32
http://u.115.com/file/f7f2807add

这个是我的工程

4号技能是回复术
使用物品的行动方动画也是一个挨打动作,我随便放上去的,不要管它……
我说的多余挨打动作是指HP回复后、被敌人攻击时的那一个
作者: pigsss    时间: 2010-6-27 22:45
我试了下,确实有个多余的。
你给回复技能加个属性(我设定的是26号)就OK了,动画也有了
作者: ioudylm    时间: 2010-6-27 22:59
啊,回复术的动画有了

另外这个脚本还有个“播放技能动画时,状态动画会一直显示在原地”的毛病……不知道能不能改掉?比如播放技能动画时让状态动画暂时消失
作者: pigsss    时间: 2010-6-29 08:32
我找到个脚本,但是有问题解决不了,放攻击动画时第一帧动画会残留
作者: ioudylm    时间: 2010-6-29 12:21
只有第一帧残留吗?把第一帧留空,从第二帧开始插入素材能解决吗……
作者: pigsss    时间: 2010-6-29 18:05
本帖最后由 pigsss 于 2010-6-29 18:07 编辑

不行呢……击中之前的那部分在攻击中会始终残留,与帧数无关




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